우분투2014. 6. 17. 11:29

CSS에서는 변수를 사용할 수 없습니다.

그래서 같은 코드를 여러번 입력해야 하는 불편이 있습니다.

이러한 단점을 보완해주는 것이 Less입니다.

변수와 여러 함수를 이용하여 CSS 코드를 만들 수 있습니다.

Less 문법으로 코드를 짠 후 컴파일을 하면 CSS 파일로 변환됩니다.

따라서 컴파일이 가능하도록 프로그램을 설치해야 합니다.

Ubuntu를 사용하고 있다면, 단 한줄의 코드로 관련 프로그램을 설치할 수 있습니다.

apt-get install node-less

설치를 했다면 테스트를 해봐야겠죠. 다음의 내용으로 style.less 파일을 만듭니다.

@nice-blue: #5B83AD;
@light-blue: @nice-blue + #111;
#header {
  color: @light-blue;
}

다음과 같이 명령합니다.

lessc style.less > style.css

style.less가 있는 폴더에 style.css가 만들어집니다. 내용은 다음과 같습니다.

#header {
  color: #6c94be;
}

CSS 코딩을 할 때 변수를 사용하거나 함수를 이용할 수 있다는 것은 상당히 매력적입니다. 하지만, 공부할 거리가 더 생기는군요.

프로그래머는 계속 새로운 기술이 나와서 평생 지루하지 않은(?) 직업 같습니다.

Posted by 다오나무
우분투2014. 4. 2. 23:56

1. Java 설치

     1) 우분투에 오라클jdk를 설치하기 위해서는 아래 명령어를 입력하면 자동으로 설치가 됩니다.

sudo apt-get install oracle-jdk7-installer 

제거할 경우 : sudo apt-get remove 패키지명

 

     2) 패키지를 찾을수 없다고 나올경우

         아래 명령어를 입력하여 패키지 목록을 업데이트 합니다.

sudo apt-get install python-software-properties

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update

         업데이트가 완료되었으면 설치가 가능합니다.  

 

2. Java 설치 확인

java -version


java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

    위와 유사한 메시지를 출력해주면 설치가 완료상태를 확인할 수 있습니다.

 

3. Tomcat7 설치

sudo apt-get install tomcat7

 

4. Tomcat 버전 확인

sh /usr/share/tomcat7/bin/version.sh

 

Using CATALINA_BASE:   /usr/share/tomcat7

Using CATALINA_HOME:   /usr/share/tomcat7

Using CATALINA_TMPDIR: /usr/share/tomcat7/temp

Using JRE_HOME:        /usr

Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar

Server version: Apache Tomcat/7.0.42

Server built:   Aug 1 2013 01:42:03

Server number:  7.0.42.0

OS Name:        Linux

OS Version:     3.11.0-12-generic

Architecture:   amd64

JVM Version:    1.7.0_51-b13

JVM Vendor:     Oracle Corporation

ubuntu@ip-172-31-22-219:/usr/share/tomcat7/bin$ cd ~

ubuntu@ip-172-31-22-219:~$ sh /usr/share/tomcat7/bin/version.sh

Using CATALINA_BASE:   /usr/share/tomcat7

Using CATALINA_HOME:   /usr/share/tomcat7

Using CATALINA_TMPDIR: /usr/share/tomcat7/temp

Using JRE_HOME:        /usr

Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar

Server version: Apache Tomcat/7.0.42

Server built:   Aug 1 2013 01:42:03

Server number:  7.0.42.0

OS Name:        Linux

OS Version:     3.11.0-12-generic

Architecture:   amd64

JVM Version:    1.7.0_51-b13

JVM Vendor:     Oracle Corporation

    위와 유사한 메시지를 출력해주면 설치가 완료상태를 확인할 수 있습니다.

 

5. Tomcat 서비스 구동

sudo service tomcat7 start

 

6. 웹 브라우져로 구동 확인

 

 

Posted by 다오나무
우분투2013. 12. 11. 17:45

sudo apt-get install php5-curl sudo /etc/init.d/apache2 restart

 


http://ubuntuforums.org/showthread.php?t=391313

 

Posted by 다오나무
우분투2013. 1. 4. 20:27

맨티스 1.1.1 버젼을 사용하다가 이번에 1.1.6 버젼으로 업그레이드를 했습니다. ChangeLog를 살펴보니 1년동안 업그레이드를 착실히 해온 것 같습니다. 새로운 버젼을 설치 하면서 과정과 사용법을 간단히 정리해 보았습니다.

맨티스 설치사양은 아래와 같습니다.

  • MySQL 4.1.1 이상
  • PHP 4.3.0 이상
  • 아파치, IIS등의 웹서버


1. 다운로드 및 설치
1) 다운로드
맨티스 다운로드 페이지나 혹은 프롬프트 상태에서 아래와 같이 맨티스 설치 파일을 다운로드 받은 후에 압축을 풉니다.
 

> wget http://downloads.sourceforge.net/mantisbt/mantisbt-1.1.6.tar.gz?modtime=1228833846&big_mirror=0
> tar xvzf mantisbt-1.1.6.tar.gz


2) 링크
mantis로 접근하기 위해 압축이 풀린 디렉토리에 심볼릭링크를 걸어줍니다.

> ln -s ./mantisbt-1.1.6 mantis


3) 설치
웹브라우져에서 http://[YOUR-DOMAIN]/mantis/admin/install.php를 실행하여 설치를 시작합니다. 먼저 아래와 같은 첫화면에서 DB 접속정보를 입력합니다.


MySQL 관리자 권한이 있는 계정을 'Admin Username'과 'Admin Password' 필드에 입력하시면 설정한대로 Database와 계정을 생성합니다. 입력을 완료한 후에 'Install/Upgrade Database' 버튼을 클릭합니다.

다음단계에서는 'Write Configuration File(s)'에 오류가 발생합니다. 이는 mantis 루트에 config_inc.php 파일을 생성할 권한이 없어서 입니다. 아래의 작업으로 해결할 수 있습니다.

4) config_inc.php 설정
기존 샘플 파일(config_inc.php.sample)을 아래와 같이 복사합니다.

> mv config_inc.php.sample ./config_inc.php


config_inc.php 파일을 열어 오류메시지에 있는 내용대로 아래와 같이 DB를 설정합니다.

$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'bugtracker';
$g_db_username = '[USER-NAME]';
$g_db_password = '[USER-PASSWORD]';


기본 메일계정을 설정합니다.

# --- email variables -------------
$g_administrator_email  = 'admin@YOUR-DOMAIN';
$g_webmaster_email      = 'admin@YOUR-DOMAIN';

# the "From: " field in emails
$g_from_email           = 'noreply@YOUR-DOMAIN';

# the return address for bounced mail
$g_return_path_email    = 'admin@YOUR-DOMAIN';


기본으로 한글사용을 위해 아래와 같이 추가합니다.

$g_default_language = "korean";


* admin 디렉토리 삭제
마지막으로 ./admin 디렉토리를 삭제합니다. admin 디렉토리는 초기설치와 관련된 파일들이 위치해 있어 설치후에는 필요가 없이 권한없이 접근할 수 있기 때문에 삭제합니다. 삭제하지 않으면 로그인 화면에서 오류가 표시됩니다.

> rm -dfr ./admin/


5) 로그인
웹브라우져에서 http://YOUR-DOMAIN/mantis 로 들어 갑니다. 아래와 같이 맨티스 사이트가 나오면 오류없이 설치된 것 입니다.


관리자 아이디인 'administrator'와 초기 기본 패스워드인 'root'를 입력하고 로그인 합니다. 관리자 패스워드는 계정관리로 들어가 반드시 변경해야 합니다.

2. 사용자 계정
'관리/사용자 관리' 메뉴로 들어가 '계정생성' 버튼을 클릭하여 사용자를 추가합니다. 계정 생성후에 상세한 옵션이나 권한을 설정할 수 있습니다.


이메일로 계정등록이 발송되기 때문에 이메일 주소를 정확히 입력하셔야 합니다. 테스트를 하여보니 제 서버에서는 이메일이 발송 되지 않았습니다. 

* 이메일 발송 오류
맨티스 루트디렉토리에 있는 config_defaults_inc.php에서 아래의 g_phpMailer_method를 0으로설정되어 있던 것을 아래와 같이 1로 변경하였더니 이메일이 정상적으로 발송되었습니다.

# select the method to mail by:
# 0 - mail()
# 1 - sendmail
# 2 - SMTP
$g_phpMailer_method     = 1;

 
같은서버에 있던 이전 버젼은 0으로 mail()을 사용해도 발송되었는데 이번 버젼에 문제가 있는 것인지 다른 문제가 있는 것인지 모르겠습니다. 저는 0일 경우에는 발송이 안되고 1과 2일 경우에는 발송이 되었습니다.

3. 프로젝트
1) 프로젝트 생성
'관리/프로젝트 관리' 메뉴로 들어가 새로운 프로젝트를 생성합니다. 역시 등록 후에 아래와 같은 상세한 설정을 할 수 있습니다.


2) 서브 프로젝트
연관된 서브프로젝트를 생성하고 관리할 수 있습니다.


3) 버젼
버젼을 등록하고 관리합니다.


3) 분류
이슈등록시 지정할 분류를 관리합니다.


4) 사용자
프로젝트에 관련된 사용자를 추가하고 권한을 설정할 수 있습니다.



4. 이슈 등록 및 확인
1) 사용자 등록
사용자 계정(testID)로 로그인하여 '이슈보고하기' 메뉴를 클릭합니다. 해당 프로젝트를 선택하고 버튼을 클릭하여 필드를 입력하고 등록합니다.


아래는 등록된 이슈목록입니다.


2) 관리자 확인
다시 관리자로 로그인 하면 메인화면에서 새로운 이벤트를 확인할 수 있습니다. 할당되지 않은 이슈에는 담당자를 할당하거나 바로 처리할 수 있습니다.


5. 기타
1) 위키
위키설정은 사실 큰 의미는 없습니다. config_default_inc.php파일에서 g_wiki_enable 속성을 ON으로 하면 메뉴에서 wiki의 링크가 추가됩니다.

#####################
# Wiki Integration
#####################
 
 # Wiki Integration Enabled?
 $g_wiki_enable = ON;

 # Wiki Engine (supported engines: 'dokuwiki', 'mediawiki', 'xwiki')
 $g_wiki_engine = 'dokuwiki';

 # Wiki namespace to be used as root for all pages relating to this mantis installation.
 $g_wiki_root_namespace = 'mantis';

 # URL under which the wiki engine is hosted.  Must be on the same server.
 $g_wiki_engine_url = $t_protocol . '://' . $t_host . '/%wiki_engine%/';


2) 사용자화
웹에서 관리 메뉴와 config_default_inc.php 파일을 변경하여 용도에 맞게 변경할 수 있습니다.

* 커스텀 필드 등록
아래와 같이 사용자 필드를 등록할 수 있습니다. 이외에 권한등 다양한 옵션이 있습니다.


등록된 필드를 프로젝트에 링크하며 해당 프로젝트의 이슈 등록시 사용자 등록필드가 출력됩니다.


* 디자인 변경
core 디렉토리의 html_api.php의 함수들을 수정하여 페이지마다 공통적인 top, bottom과 그외 다른 디자인을 변경할 수 있습니다.

이외에도 공지사항, 문서관리등과 함께 편리하게 이용할 수 있는 기능들이 많이 있습니다. 장단점이 있지만 개인적으로는 Trac보다는 Mantis가 편한 것 같습니다.


 

Posted by 다오나무
우분투2012. 9. 22. 15:20
터미널에서 sudo nautilus 입력하세요.


_________________
Ubuntu 12.04 LTS


Posted by 다오나무
우분투2012. 9. 22. 15:12
wget을 사용하여 정기적인 작업을 실행하도록 설정하는 경우가 종종 있는데

보통 crontab에 설정하여 일정시간동안 돌아가도록 설정한다. 

다음과 같이 crontab에 추가했다면

*/10 * * * * root wget http://aaa.com/update.php

/root디렉토리 하위에 실행할때마다 파일이 생성된다. update.php, update.php.1, update.php.2

이걸 따로 지우기도 머하고 

그냥 다음과 같이 설정한다.

*/10 * * * * root wget -O /tmp/update.php http://aaa.com/update.php

이렇게 하면 tmp에 파일이 생성되기 때문에 디렉토리가 지저분해지지 않는다.

 

Posted by 다오나무
우분투2012. 9. 21. 20:36

mysql의 log-bin을 활성화시켜 놓고 오래 사용하는 경우 var디렉토리에 mysql-bin.XXXX 형태의 바이너리 로그 파일이 계속 쌓이게 됩니다.
때로는 이 로그를 분석해서 어떤 쿼리들이 실행되었었는지 확인도 되고, 백업이나 복구에 사용되기도 하기 때문에 유용할 수 있습니다.
특히 DB 리플리케이션을 쓰려면 이 로그가 필요합니다.
그러나 작은 파티션에 계속해서 로그가 쌓이다 보면 어느 순간 용량이 부족해지게 되면 mysql구동에 문제가 생겨 버립니다. 그래서, 적당한 용량으로 로그를 유지하는 간단한 방법을 소개합니다.

바로 로그의 만료 기간을 지정해 주는 것입니다.
mysql에 접속한 후 아래의 명령으로 시스템 변수들을 확인해 보시면 expire_logs_days 라는 값이 0으로 되어 있을 것입니다.

mysql> show variables;

이 변수를 아래와 같이 원하는 기간으로 지정해 줄 수 있습니다.

mysql> set global expire_logs_days = 3;

다시, 위의 show variables;로 확인해 보시면 3일로 변경된 것이 보일 것입니다.
이러면 3일간의 로그만 보존되게 되면서 용량 문제가 없어집니다!


Posted by 다오나무
우분투2012. 9. 7. 23:53

제가 블로그 운영 거의 초기에 하드디스크 파티션을 자동으로 마운트 시키는 방법에 대해 블로그에 짤막하게 글을 남긴 적이 있었습니다. (우분투 설치하고 셋팅할 것. 중 3번)
'/etc/fstab'란 파일을 'gedit'로 수정하는 방법이었는데, 저 혼자 나중에 포맷하고 참고하려고 작성한 포스팅이었죠. 이 방법을 사용하려면 디스크의 UUID를 확인하는 등 상당히 복잡한 절차를 거쳐야 했는데, 이 과정을 간단하게 도와주는 GUI 프로그램이 있어서 소개합니다!!


pysdm 설치하기

우분투(Ubuntu)에서는 아래의 명령어를 입력하면 됩니다.

$ sudo apt-get install pysdm


페도라(Fedora)에서는 아래의 명령어를 입력하면 됩니다.

$ sudo yum install pysdm



사용방법

Storage Device Manager(pysdm)를 사용하는 것은 '/etc/fstab'파일을 수정하게 되는데, 자칫 잘못되면 골치아프게 되는 수가 있습니다. 그러므로 아래의 명령어로 미리 백업 해둡니다.

$ sudo cp /etc/fstab /etc/fstab.old


위의 명령어는 '관리자의 권한으로(sudo)', '/etc/fstab'라는 파일을 '/etc/fstab.old'란 파일로 '복사해둔다(cp)'라는 뜻입니다.

이 과정이 다 끝나면 '대시홈(Dash)'에서 'storage device manager'를 검색하거나 '$ gksu pysdm'이란 명령어로 실행합니다.


'/etc/fstab'파일을 수정하는 것은 관리자 권한을 필요로 하기 때문에 한번 더 암호를 물어봅니다. 암호를 입력하면 'Storage Device Manager(pysdm)'이 실행됩니다.


간단하게 제 파티션을 설명하자면 'sda1'는 ext4형식으로 우분투가 설치되어있고, 'sda5'는 ext4인 임시저장용 파티션, 'sda6'는 스왑(swap)파티션입니다.

sdb는 모두 ntfs형식의 파티션으로 각각 분류된 파티션입니다.


우선 수정하기 위해서 원하는 파티션을 선택한 뒤 'Assistant'버튼을 클릭합니다.



ext4 형식의 파일시스템은 아래와 같이 표시됩니다.

부팅하자마자 마운트되도록 하기 위해선 'The file system is mounted at boot time'을 선택하면 됩니다.

또한 다른 사용자로도 마운트할 수 있고 마운트해제 할 수 있도록 'Allow any user to mount the file system', 'Allow a user to mount and unmount the file system' 을 선택합니다.



ntfs 형식의 파일시스템은 아래와 같이 표시됩니다.

기본적으로 'Mount file system in read-only mode(파일시스템을 읽기만 가능하도록 마운트)'가 선택되어 있는데 선택을 해제하고, 위와 같이 'Allow any user to mount the file system', 'The file system is mounted at boot time', 그리고 'Allow a user to mount and unmount the file system'을 선택합니다.



자!! 이제 재부팅을 하면 자동으로 마운트되는지 확인할 수 있습니다!!^^

혹시, 기존의 설정으로 복구하고 싶은 분은 아래의 명령어를 입력하게 아까 백업해둔 파일로 덮어쓸 수 있습니다.

$ sudo cp /etc/fstab.old /etc/fstab


 

Posted by 다오나무
우분투2012. 9. 7. 22:54

tar압축패키지로 전체 시스템 백업하기.. 

백업에 제외할 디렉토리를 정한다. 쓸모없는 디렉토리와, 백업파일 자신을 꼭 제외시켜주어야 한다. 또한 다른 파티션의 하드를 마운트한 /mnt 등의 디렉토리도 제외시켜야 불필요한 용량증가와 시간을 줄일 수 있다. . /media   /dev 등의 디렉토리도 빼주자. /sys, /dev 는 가상적인 디렉토리이다. 백업이 완료된 후 에러매세지를 볼수가 있는데 대부분의 경우 무시해도 된다.

 

백업 

1. 루트로 이동

#cd /

 

2.전체 시스템을 백업

#tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

 

복구

1. 루트로 이동

#cd /

 

2. 압축을 풀어 복구

#tar xvpfz backup.tgz -C /

마지막의 -C / 옵션때문에 백업파일이 루트가 아닌 다른 곳에 저장되어있는 상태라도 상관없다.

 

 백업에서 제외했던 디렉토리는 직접 만들어 주어라
#mkdir proc
#mkdir lost+found
#mkdir mnt
#mkdir sys

재부팅을 하면 백업전과 똑같은 상태로 돌아 갈 것이다.

 

--아래는 내가 백업하기전 Directory 구성



 

[
Posted by 다오나무
우분투2012. 9. 7. 22:36

저의 경우 리눅스파티션(ext4)을 3개쓰고 있습니다.

윈도우파티션(NTFS)까지 합치면 9개의 파티션을 쓰고있죠. ;;

NTFS파티션을 자동으로 마운트되게 하는건 'ntfs-config'이라는 유틸을 사용하면 쉽게 되지만 ext4파티션은 직접 작성을 해줘야 합니다.


먼저 파티션의 uuid를 알아야합니다.(UUID: 범용 고유 식별자 Universally Unique Identifier)

터미널에서 아래의 명령을 실행시킵니다.


ls -l /dev/disk/by-uuid/

그러면 아래와 비슷한 하드의 파티션 UUID 번호가 나옵니다.


lrwxrwxrwx 1 root root 10 2010-07-25 15:51 0440AAFD407AF498 -> ../../sda6
lrwxrwxrwx 1 root root 10 2010-07-25 15:51 049C80B292809FB2 -> ../../sda9
lrwxrwxrwx 1 root root 10 2010-07-25 15:52 1846215F46213EB7 -> ../../sda5
lrwxrwxrwx 1 root root 10 2010-07-25 15:52 32905ABC3403C014 -> ../../sda8
lrwxrwxrwx 1 root root 11 2010-07-25 15:52 4f9e4283-2f18-48ef-a881-056f1fb2a30d -> ../../sda10
lrwxrwxrwx 1 root root 11 2010-07-25 15:52 5a5f097d-8587-473e-bc65-4d175b7fa6a5 -> ../../sda12
lrwxrwxrwx 1 root root 10 2010-07-25 15:52 61ABCFF04CAD8CDB -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-07-25 15:51 789FCA7F3C10E3D7 -> ../../sda7
lrwxrwxrwx 1 root root 11 2010-07-25 15:51 a710af3e-bffc-42ec-979d-918c42f65b52 -> ../../sda13
lrwxrwxrwx 1 root root 11 2010-07-25 15:52 ad7e627d-6d70-4dda-bb51-0a582c0afc87 -> ../../sda11


여기서 날짜와 시간 뒤에있는 복잡해보이는 일련번호가 바로 'UUID'입니다.

../../sda6와 같은 문자는 파티션 번호입니다.


위의 파티션정보를 보면 sda라는 1번째하드에 uuid가 짧은 /sda1,/sda5~9는 ntfs파일시스템으로 /sda1은 윈도우의 C드라이브이고, /sda5~9는 D~H드라이브 입니다.

uuid가 긴 /sda10~12는 리눅스파일시스템(ext4)이며, /sda13은 스왑 파티션입니다.


이제 uuid번호를 알았으니 부팅할때 자동으로 마운트되게 하면 됩니다.

터미널에서 아래의 명령을 실행시킵니다.


sudo gedit /etc/fstab

그러면 아래와 비슷한 형식의 글이 나옵니다.


# /etc/fstab: static file system information.
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc    /proc    proc    nodev,noexec,nosuid    0    0

UUID=4f9e4283-2f18-48ef-a881-056f1fb7a30d    /    ext4    errors=remount-ro    0    1  >> 현재 사용중인 우분투 파티션.
UUID=049C80B292809FB2    /media/data    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0  >>이하 윈도우파티션.
UUID=1846215F46213EB7    /media/drama    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0
UUID=789FCA7F3C10E3D7    /media/fors    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0
UUID=32905ABC3403C014    /media/game    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0
UUID=0440AAFD407AF498    /media/ubuntuk    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0
UUID=61ABCFF04CAD8CDB    /media/seven    ntfs-3g    defaults,locale=ko_KR.UTF-8    0    0


자동 마운트 되는 파티션을 보여주는 문서입니다.

원하는 리눅스 파티션을 자동 마운트 한다면 uuid번호를  적어주면 됩니다.

/sda12파티션을 넣어준다고 가정한다면...위의 uuid번호를 그대로 복사&붙여넣기 하면 됩니다.


UUID=5a5f097d-8587-473e-bc65-4d175b7fa6a5  /media/kubuntu    ext4    errors=remount-ro    0    1


유의 해야할것은 '/media/kubuntu'라는 폴더입니다. 사용자가 원하는 폴더명을 넣으면 됩니다.

보통 '/media/사용자폴더'로 위치를 정하면 되는데 다른 디렉토리로 해도 전혀 상관없습니다.


'사용자폴더'는 디렉토리(폴더)입니다. 꼭 디렉토리를 만들어야 합니다.


sudo mkdir /media/kubuntu


이제 재부팅해서 확인해 보세요. 자동으로 마운트되어 있을겁니다.


*****************************************************************************************************************8


저와 같이 리눅스파티션을 두개이상 쓰는분이 있는지 모르겠지만... 혹시 필요한 분이 있을듯하여 적어봤습니다.

쉬운건데 너무 복잡하게 설명한듯 합니다.;;

Posted by 다오나무