Ubunto 8.10 LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql,PHP5]
페이지 정보
작성자 정성규 댓글 0건 조회 14,976회 작성일 10-02-09 17:10본문
1. 네트워크 설정 (기본적인 설정 : dhcp)
# 네트워크 설정 (변경된 설정 : 고정 IP)
1. 고정아이피 설정하기
sudo vim /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
auto eth0
iface eth0 inet static
address 203.xxx.xxx.xxx
netmask 255.255.255.0
gateway 203.xxx.xxx.xxx
2. DNS 설정하기
sudo vim /etc/resolv.conf
domain xxx.com
search xxx.com
nameserver 203.xxx.xxx.xxx
nameserver 란에 관리자에게서 받은 DNS 주소를 입력한다. 내 경우 회사였기 때문에, domain이나 search 정보는 기본으로 잡혀있었다.
3. 변경된 설정 적용하기
sudo /etc/init.d/networking restart
#Network Restart
2. Linux Apache2 PHP5 MySQL5 설치하기
* Apache 설치
$sudo apt-get install apache2
* MySQL 인증
$sudo apt-get install libapache2-mod-auth-mysql
* MySQL 설치
$sudo apt-get install mysql-server mysql-client
* PHP5 설치
$sudo apt-get install php5-common php5 libapache2-mod-php5
* PHP - MySQL 연동
$sudo apt-get install php5-mysql
* PHP - GD 설치
$sudo apt-get install php5-gd
* 아파치 및 MySQL 재시작
$sudo /etc/init.d/apache2 restart
$sudo /etc/init.d/mysql restart
* 아파치 및 MySQL 설정파일위치
/etc/apache2/apache2.conf
/etc/mysql/my.cnf
* 아파치 웹루트 폴더
/var/www -> 루트권한만이 쓰고 지우고 할수 있습니다.
가상호스트설정폴더
/etc/apache2/sites-available/default
$sudo gedit /etc/apache2/sites-available/default
/var/www/ 라고 써 있는 부분들을 원하는 디렉토리로 변경
==============================================
-. APM 설치
$sudo apt-get install apache2
2. mysql 인증 모듈
$sudo apt-get install libapache2-mod-auth-mysql
3. MySQL
$sudo apt-get install mysql-server mysql-client
설치가 완료되면 MySQL서버가 자동으로 시작
4. PHP5
$sudo apt-get install php5-common php5 libapache2-mod-php5
5. MySQL과 연동하기 위한 모듈
$sudo apt-get install php5-mysql
6. 아파치 웹서버를 재시작
$sudo /etc/init.d/apache2 restart
7. MySQL서버 정상 작동 확인
$sudo netstat -tap | grep mysql
명령 후
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
면 정상 아니면 재시작
$sudo /etc/init.d/mysql restart
출처 : 우분투 리눅스에서 APM 설치하기 (웹서버 설정)
-. APM 설정
기본설정 파일은 /etc/apache2/apache2.conf
포트번호, 문서의루트, 모듈, 각종 로그파일, 가상 호스트 등을 설정
2. MySQL
관리자 암호 설정
sudo mysqladmin -u root password newrootsqlpassword
sudo mysqladmin -p -u root -h localohost password newrootpassword
MySQL 설정파일은 /etc/mysql/my.cnf
로그 파일, 포트 번호 등을 설정
출처 : 우분투 리눅스에서 APM 설치하기 (웹서버 설정)
-. Apache 로그 설정
1. 다운로드 및 압축해제
다운로드
$ tar xvf cronolog-1.6.2.tar
2. 설치 경로 수정
$ cd cronolog-1.6.2
$ vi ./configure
ac_default_prefix=설치경로 (기본값은 /usr/local)
$ ./configure
$ make
$ make install
3. 아파치 설정
/etc/apache2/sites-available/사이트 설정 파일 의 CustomLog 값 변경
CustomLog "|/설치경로/sbin/cronolog /로그폴더/%Y%m%d_access.log" combined env=!nolog가상 호스팅은 경우에는 로그폴더도 사이트별로 나누면 좋다.
예) /var/log/apache2/mr-dust.pe.kr/
CustomLog "|/설치경로/sbin/cronolog /var/log/apache2/mr-dust.pe.kr/%Y%m%d_access.log" combined env=!nolog
출처 : apache 로그 날짜별로 저장
-. Mysql 설정
mysql 서버에 패스워드 없이 로그인 하게되면 서버에 만들어진 데이터베이스나 테이블 기타 이곳에 저장된 자료가 외부인에게 노출될 수 있다. 따라서 이러한 보안을 목적으로 root 패스워드를 지정하면 mysql 서버를 안전하게 보호할 수 있다.
mysql> use mysql;
mysql> update user set password=password('123456') where user='root';
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges; <--- 적용
flush privileges; 를 하지 않으면 mysql에서 빠져나와서 root 로그인이 안된다.
확인한다.
mysql> select host, user, password from user;
+----------------------------------------------------------------+
| Host user password |
+----------------------------------------------------------------+
| localhost root 2e01146f5c065853 |
| localhost.localdomain root 2e01146f5c065853 |
+----------------------------------------------------------------+
mysql> \q
Bye
------------------------------------------------------------------------------------
[주의]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
이때는 mysql 을 shutdown 하거나 reload 하면 된다.
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
하면 패스워드를 묻는데 이때 입력하면 설정한 mysql이 적용이된다.
# /usr/local/mysql/bin/mysqladmin -u root -p reload;
------------------------------------------------------------------------------------
2. root 패스워드를 분실한 경우(응급조치)
mysql 을 오랫동안 사용하지 않았을 경우에 간혹 root패스워드가 기억나질않아서 당황할 때가 있습니다. 시스템관리자라면 시스템의 root나 MySQL의 root의 암호를 잊어 버렸을 때를 대비해서 패스워드를 새로 설정하는 방법을 반드시 숙지하고 있어야 할 것입니다.
① 실행중인 msyql 종료
# ps -ef | grep mysqld
root 9567 1 0 Mar16 ? 00:00:00 sh ./mysqld_safe
root 9576 9567 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 9578 9576 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 9579 9578 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
# killall mysqld
② grant-table 미사용모드로 mysql시작(권한 테이블을 사용하지 않는 옵션으로 데몬 실행)
# ./safe_mysqld --skip-grant-tables &
[1] 12084
# Starting mysqld daemon with databases from /usr/local/mysql/data
# ./mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.22.24
Type 'help' for help.
mysql>
※ mysqld_safe 명령어는 mysql 데몬을 실행시킨다.
③ update문으로 root사용자 패스워드 갱신
mysql> update user set password=password('123') where user = 'root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> \q
Bye
④ 실행중인 mysql 다시 종료(권한 테이블을 사용하지 않는 데몬을 종료)
# ps -ef | grep mysqld
root 12084 11558 0 20:10 pts/2 00:00:00 sh ./mysqld_safe --skip-grant-ta
root 12090 12084 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12092 12090 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12093 12092 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
#
# killall mysqld
mysqld daemon ended
[1]+ Done ./mysqld_safe --skip-grant-tables
#
⑤ Mysql 데몬 재 실행 후 갱신된 패스워드로 로그인
# ./safe_mysqld &
[1] 12102
# Starting mysqld daemon with databases from /usr/local/mysql/data
#
# ps -ef | grep mysql
root 12102 11558 0 20:13 pts/2 00:00:00 sh ./mysqld_safe
root 12108 12102 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12110 12108 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12111 12110 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
# mysql -u root -p
Enter Password: ***************
댓글목록
등록된 댓글이 없습니다.