일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오라클
- memory
- Network
- command & perl
- solaris
- PERL
- solaris network
- dba
- bash
- mariaDB
- php5
- Oracle RAC
- MySQL
- Linux
- cygwin
- sqlplus
- 연산자
- prompt
- perl string
- grid
- RHEL4
- patch
- SQL
- fdisk
- Unix
- oracle
- oracle install
- rac
- perl + 정규표현식
- perl one-liner
Archives
- Today
- Total
DATA 전문가로 가는 길
[ Linux - Ubunto ] LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql 5, PHP5, MRTG+SNMP] 본문
OS
[ Linux - Ubunto ] LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql 5, PHP5, MRTG+SNMP]
EstenPark 2009. 5. 29. 18:08일주일 정도 삽질과 고통의 연속을 지내면서 문서하나를 작성 하게 되었습니다..
LAMP( Linux, Apache, MySql, PHP ) 세팅 방법과 모니터링을 구현 하기 위하여 MRTG를 선택 했습니다.
Nagios를 설치 하고 싶었으나 오래된 회사의 정책?으로 MRTG를 구성 할 수 밖에 없었습니다.
Ubunto apt-get 명령어를 이용하여 소스설치가 아닌 패키지 설치로 가이드 할 생각이며, 관리 또한 편함...
하지만 설정파일의 위치를 알기 위해서는 조금의 노력이 필요하다고 생각 합니다.
1. 기본적인 설정
1-1 네트워크 설정 (기본적인 설정 : dhcp)
pubuntu@pubuntu:/etc/network$ cat interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp |
- dhcp로 할당된 IP 정보이며, Portable Ubuntu 에서는 이상없이 네트워크가 수행 됩니다.
- 하지만 IP 정보가 어느 순간 변경 될지 모르기 때문에 고정 아이피로 변경 하겠습니다.
편집 : sudo /etc/network/interfaces pubuntu@pubuntu:/etc/network$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 # 이부분 주석 처리 한 후 아래 처럼 설정 #iface eth0 inet dhcp iface eth0 inet static address 192.220.116.82 netmark 255.255.255.0 network 192.220.116.0 broadcast 192.220.116.255 gateway 192.220.116.1 # hostname 변경 선택1) pubuntu@pubuntu:/etc$ sudo vi /etc/hostname estenpark 선택2) pubuntu@pubuntu:/etc$ hostname estenpark # hosts 변경 pubuntu@pubuntu:/etc$ sudo vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 estenpark 192.220.116.82 www.estenpark.com <- network interface 설정 한 address #DNS 설정 pubuntu@pubuntu:/etc$ sudo vi /etc/resolv.conf 168.126.63.1 168.126.63.2 참조 : http://hestory.net/2511070 #Network Restart pubuntu@pubuntu:/etc$ sudo /etc/init.d/networking restart sudo: unable to resolve host pubuntu * Reconfiguring network interfaces... Don't seem to be have all the variables for eth0/inet. Failed to bring up eth0. [ OK ] |
- ifconfig 명령어를 사용하여 현재 사용하고 있는 eth0(이더넷)을 확인
- /etc/network/interfaces 네트워크 설정을 변경
- hostname, hosts, DNS 추가로 하지 않아도 됩니다.
- 마지막 네트워크 데몬을 재시작 하면 되는데 OK가 아니면 /etc/network/interfaces 설정을 다시 확인
# 원본 deb http://ar.archive.ubuntu.com/ubuntu/ hardy main restricted .. .. pubuntu@pubuntu:/etc/apt$ sudo perl -i.bak -pe 's/ar\.archive\.ubuntu\.com/ftp\.daum\.net/g' sources.list # 변경 deb http://ftp.daum.net/ubuntu/ hardy main restricted .. .. # 패키지를 설치하면 에러 발생 pubuntu@pubuntu:/etc/apt$ sudo apt-get install libgd2-xpm-dev sudo: unable to resolve host pubuntu 꾸러미 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 E: libgd2-xpm-dev 꾸러미를 찾을 수 없습니다 # apt-get의 설정을 업데이트 하면 자동으로 미러가 설정 됨 pubuntu@pubuntu:/etc/apt$ sudo apt-get update |
- APT는 어떤 패키지를 가지고 올 'sources'가 필요하다. 이 파일은 /etc/apt/sources.list 설정 파일
- Perl One Lines 이용하여 ar.archive.ubuntu.com을 ftp.daum.net로 모두 변경 하고 *.bak 파일 생성
- 실제로 기본 미러 사이트에서 다운 받으면 오래 걸리지만 다음(미러사이트)에서 조금 빨라 집니다.
2. LAMP 설치
2-1 라이브러리 설치
# this will install some necessary compilers pubuntu@pubuntu:/etc/apt$ sudo apt-get install build-essential #Install GD Libraries pubuntu@pubuntu:/etc/apt$ sudo apt-get install libgd2-xpm-dev |
2-2 Apache 설치
################################################################ #기본 구성 ( 기본적으로 구성해야 할 설치 방법 ) ################################################################ pubuntu@estenpark:~$ sudo apt-get install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert # 정상 설치 로그 * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ] # 프로세스 확인 pubuntu@estenpark:~$ ps -ef |grep apache |grep -v grep root 3546 1 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3547 3546 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3548 3546 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3554 3546 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3555 3546 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3556 3546 0 20:46 ? 00:00:00 /usr/sbin/apache2 -k start www-data 3822 3546 0 21:31 ? 00:00:00 /usr/sbin/apache2 -k start # 웹 페이지 확인 http://localhost/ It works! (해당 글씨가 나오면 Apache 세팅 완료) #리스타트를 해주면 open connection을 죽이지 않음 pubuntu@estenpark:~$ sudo apache2ctl gracefu ################################################################ #추가 구성 ( 이부분은 자신의 개별 사이트를 관리 할 때 사용 ) ################################################################ # Domain Name 설정 ( nano or gedit 사용) # mass : 파일 이름 (원하는 파일이름으로 변경 가능) pubuntu@estenpark:/etc/apache2/conf.d$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/masssite # 파일 생성 후 URL 주소를 설정( 서버이름 ) pubuntu@estenpark:/etc/apache2$ sudo nano /etc/apache2/conf.d/mass ServerName www.estenpark.com # 디렉토리 생성 (mkdir 명령어로 쓱싹) pubuntu@estenpark:~/html/mass$ pwd /home/pubuntu/html/mass # Change the DocumentRoot to point to the new location. For example # Change the Directory directive, replace <Directory /var/www/> to <Directory /home/user/public_html/> # 위 설명 처럼 웹 문서가 저장 될 장소를 설정 pubuntu@estenpark:/etc/apache2$ sudo nano /etc/apache2/sites-available/masssite DocumentRoot /home/pubuntu/html/mass <Directory /home/pubuntu/html/mass> # apache2 명령어를 이용하여 활성화 사이트와 비활성화 사이트를 제시 # Apache2 재시작 |
2-3 Mysql 설치
# 설치 중간에 Password 2번 입력 sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql # 설치시 패드워드가 누락되면 아래처럼 설정 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword'); # 접속 확인 pubuntu@estenpark:~$ mysql - root -p Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.51a-3ubuntu5.4 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> # 에러날 경우 처리 방법 (프로그램을 시도 중 스레드가 생성 되지 않아서 나는 에러로 확인) pubuntu@estenpark:/var/run/mysqld$ mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) # 위와 같이 에러가 날 경우 in -s 로 링크를 설정 pubuntu@estenpark:/var/run/mysqld$ cd /tmp pubuntu@estenpark:/tmp$ sudo ln -s /var/run/mysqld/mysqld.sock mysqld.sock pubuntu@estenpark:/tmp$ sudo /etc/init.d/mysql start & # IP 접근 범위 설정 pubuntu@estenpark:~$ sudo vim /etc/mysql/my.cnf ... ... # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #bind-address = 127.0.0.1 bind-address = 192.x #bind-address 모두 주석 처리 해도 됨 |
3. phpmyadmin adn mysql-admin 설치
pubuntu@estenpark:/etc/apache2$ sudo apt-get install phpmyadmin 글 타기 : http://team1ab.textcube.com/6 자세한 설명 나옴 pubuntu@estenpark:/etc/apache2$ sudo apt-get install mysql-admin |
4. 환경 설정
4.1 PHP 환경 설정 및 Mysql 연동 방법( Ubuntu 8.10)
# mysql(i).so file 설정 pubuntu@estenpark:~$ gksudo "gedit /etc/php5/apache2/php.ini" ; Directory in which the loadable extensions (modules) reside. extension_dir = "/usr/lib/php5/20060613+lfs" => /usr/lib/php5 디렉토리에서 2006****를 확인 # Now create the default directory for extensions pubuntu@estenpark:~$ sudo mkdir /usr/lib/php5/ext # Copy the extension file to the new directory pubuntu@estenpark:~$ sudo cp /usr/lib/php5/20051025/mysql.so /usr/lib/php5/ext/mysql.so |
4.2 Apache2 재시작 및 PHP installation 확인
pubuntu@estenpark:~$ sudo /etc/init.d/apache2 restart # phpinfo() 를 확인 pubuntu@estenpark:~$ sudo echo "<?php phpinfo(); ?>" > /home/estenpark/html/mass/test.php # http://www.estenpark.com/test.php PHP Version 5.2.4-2ubuntu5.6 .. .. 화면이 나온다면 정상 적으로 세팅 완료 |
세팅 하면서 어려운 점은 없습니다.
사실 sudo apt-get insert로 패키지를 설치하면 크게 설정 변경 하지 않아도 됩니다.
저처럼 정상적으로 설정이 되지 않은 분들이 있을 거라고 생각 합니다.
이제 부터 준비 하려 했던 사이트를 제작 해보려 합니다.
능력이 된다면 웹2.0 버전으로 하고 싶고 모두 Perl로 구성 해보고 싶습니다.
이것 저것 생각 한 것은 많고 실천으로 하기에는 부족 한 현실이 안타깝지만 100개 중에 1개라도 제대로 완성 해보고 싶네요.
이상 Ubuntu 8.10 LAMP 설치 및 기타 옵션에 대한 설명 이였습니다.
mrtg + snmp 설정 부분은 추후 문서화 해드리겠습니다.
참고 자료
================================================================================
사이트 이름
================================================================================
https://help.ubuntu.com/community/ApacheMySQLPHP (도와줘~ 우봉이)
http://ubuntuguide.org/wiki/Ubuntu:Hardy_Korea (우봉이 설치 가이드 정식버전)
http://www.ubuntu.or.kr/ (우분투 한국 사용자 모임)
http://team1ab.textcube.com/6 (team1ab님)
http://aero.springnote.com/ (aero님)
http://sial.org/howto/perl/one-liner/ (Perl Argument Overview)
http://doc.perl.kr/twiki/bin/view/Wiki/HowToStartPerl (펄덕펄덕)
http://cafe.naver.com/perlstudy.cafe (대한민국Perl커뮤니티)
================================================================================
http://sial.org/howto/perl/one-liner/ (Perl Argument Overview)
http://doc.perl.kr/twiki/bin/view/Wiki/HowToStartPerl (펄덕펄덕)
http://cafe.naver.com/perlstudy.cafe (대한민국Perl커뮤니티)
================================================================================
'OS' 카테고리의 다른 글
Tomcat 5.0.x /4.1.x log rotation solutions (톰캣의 catalina.out 로그 관리) (0) | 2009.11.19 |
---|
Comments