[Ubunto 8.10] LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql,PHP5]

일주일 정도 삽질과 고통의 연속을 지내면서 문서하나를 작성 하게 되었습니다…
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 정보가 어느 순간 변경 될지 모르기 때문에 고정 아이피로 변경 하겠습니다.

1-2 네트워크 설정 (변경된 설정 : 고정 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
calmmass
선택2) pubuntu@pubuntu:/etc$ hostname calmmass

hosts 변경

pubuntu@pubuntu:/etc$ sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 calmmass
192.220.116.82 http://www.calmmass.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 설정을 다시 확인

1-3 /etc/apt/sources.list 파일 미러 변경

원본

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-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@calmmass:~$ 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@calmmass:~$ 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@calmmass:~$ sudo apache2ctl gracefu

################################################################
#추가 구성 ( 이부분은 자신의 개별 사이트를 관리 할 때 사용 )
################################################################

Domain Name 설정 ( nano or gedit 사용)

mass : 파일 이름 (원하는 파일이름으로 변경 가능)

pubuntu@calmmass:/etc/apache2/conf.d$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/masssite

파일 생성 후 URL 주소를 설정( 서버이름 )

pubuntu@calmmass:/etc/apache2$ sudo nano /etc/apache2/conf.d/mass
ServerName http://www.calmmass.com

디렉토리 생성 (mkdir 명령어로 쓱싹)

pubuntu@calmmass:~/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@calmmass:/etc/apache2$ sudo nano /etc/apache2/sites-available/masssite
DocumentRoot /home/pubuntu/html/mass
<Directory /home/pubuntu/html/mass>

apache2 명령어를 이용하여 활성화 사이트와 비활성화 사이트를 제시

명령어 사용 방법 : a2dissite(apache2disable) 비활성화 사이트

               a2ensite (apache2enable ) 활성화 사이트

비활성화 사이트

pubuntu@calmmass:/etc/apache2$ sudo a2dissite /etc/apache2/sites-available/defaul

활성화 사이트

pubuntu@calmmass:/etc/apache2$ sudo a2ensite /etc/apache2/sites-available/masssite

Apache2 재시작

pubuntu@calmmass:/etc/apache2$ sudo /etc/init.d/apache2 restart

Html 문서 작성

pubuntu@calmmass:/etc/apache2$ echo ‘<b>Hello! It is working!</b>’ >
/home/pubuntu/html/massl/index.html

Web Page 확인

http://www.calmmass.com

Hello! It is working!

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@calmmass:~$ 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@calmmass:/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@calmmass:/var/run/mysqld$ cd /tmp
pubuntu@calmmass:/tmp$ sudo ln -s /var/run/mysqld/mysqld.sock mysqld.sock
pubuntu@calmmass:/tmp$ sudo /etc/init.d/mysql start &

IP 접근 범위 설정

pubuntu@calmmass:~$ 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.1 phpmyadmin adn mysql-admin 설치
pubuntu@calmmass:/etc/apache2$ sudo apt-get install phpmyadmin
pubuntu@calmmass:/etc/apache2$ sudo apt-get install mysql-admin

4.1 PHP 환경 설정 및 Mysql 연동 방법( Ubuntu 8.10)

mysql(i).so file 설정

pubuntu@calmmass:~$ 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@calmmass:~$ sudo mkdir /usr/lib/php5/ext

Copy the extension file to the new directory

pubuntu@calmmass:~$ sudo cp /usr/lib/php5/20051025/mysql.so /usr/lib/php5/ext/mysql.so

4.2 Apache2 재시작 및 PHP installation 확인
pubuntu@calmmass:~$ sudo /etc/init.d/apache2 restart

phpinfo() 를 확인

pubuntu@calmmass:~$ sudo echo "<?php phpinfo(); ?>" > /home/calmmass/html/mass/test.php

http://www.calmmass.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 설정 부분은 추후 문서화 해드리겠습니다.

복사해서 붙어 넣었더니 표가 생성 되지 않네요.
원본으로 보고 싶은 분들은 아래 제 블로그로 오세요.
[size=150:1e6lmow2][b:1e6lmow2][url:1e6lmow2]http://calmmass.tistory.com/35[/url:1e6lmow2][/b:1e6lmow2][/size:1e6lmow2]

참고 자료

         사이트                                                      이름

================================================================================

https://help.ubuntu.com/community/ApacheMySQLPHP (도와줘~ 우봉이) http://ubuntuguide.org/wiki/Ubuntu:Hardy_Korea (우봉이 설치 가이드 정식버전) http://www.ubuntu.or.kr/ (우분투 한국 사용자 모임) 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커뮤니티)

================================================================================

흠…LAPM이 ;;

^^ 설치후 일일이 확인을 거치셨군요…

전 걍 OK떨어지면 어허 잘 설치됬나보구나 하곤…

모두 설치가 끝난뒤에 설정파일만 조금 손을 봐주다보니…흠…

나중에 설치하다 문제 생기면…^^ 쓰실글을 참조해보아야겠네요!!

갈피해두어야겠네요 ^^

저도 잘정리 해놨습니다.^^
와서 보셔요.^

[url:2pk351wb]http://team1ab.textcube.com/5[/url:2pk351wb] <<기본적인 LAMP 설정이구요

[url:2pk351wb]http://team1ab.textcube.com/6[/url:2pk351wb] << phpmyadmin 입니다.^^

정리 잘 되었네요.
저도 퍼가겠습니다.^^

[quote="calmmass":3ocpl4ko]# hosts 변경
pubuntu@pubuntu:/etc$ sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 calmmass
192.220.116.82 http://www.calmmass.com <- network interface 설정 한 address[/quote:3ocpl4ko]

아래와 같이 쓰는게 맞을텐데요…

hosts 변경

pubuntu@pubuntu:/etc$ sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 calmmass
192.220.116.82 www.calmmass.com <- network interface 설정 한 address

아… 게시판에서 자동으로 http:// 를 붙인건가 보군요…
http:// 빼고 쓰는게 맞습니다.

좋은 글이네요~

저는 소스컴파일로 설치했습니다.
취향에 맞는거 같아서 ㅎㅎㅎㅎ