APM 서버(Apache+PHP+MySQL)
1. 아파치 : 웹서버 HTTP, 포트번호 80
http://www.apache.org
2. PHP : 웹서버 스크립트언어
http://www.php.net
3. MySQL : 데이터베이스
http://www.mysql.org
*CentOS 버전은 아파치가 기본으로 설치되어 있다.
---------------------------------------------------------------------------------------------------
APM 수동설치
# rpm -qa | grep httpd*
# yum remove -y httpd
*APM 사전패키지설치
# yum install -y gcc cpp gcc-c++ compat-gcc gcc-32-g77 flex-devel zlib-devel openssl-devel libxml2-devel libjpeg-devel libpng-devel ncurses-devel libtermcap-devel
설치완료되면 MySQL -> Apache -> PHP 순으로 설치한다.
1. MySQL 설치
패키지명 : mysql-5.1.34.tar.gz
다운로드
# wget http://pkgs.fedoraproject.org/repo/pkgs/mysql/mysql-5.1.34.tar.gz/42493187729677cf8f77faeeebd5b3c2/mysql-5.1.34.tar.gz
압축해제
# tar xvfz mysql-5.1.34.tar.gz
소스디렉토리 이동
# cd mysql-5.1.34
*소스설치
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=utf8 --with-mysql-user=mysql --sysconfdir=/etc --enable-thread-safe-client
# make && make install
MySQL 구동테스트
*계정생성
#useradd -d /usr/local/mysql -s /sbin/nologin mysql
# grep mysql /etc/passwd
* 데이터베이스 디렉토리 생성하기
# cd /usr/local/mysql/bin
# ls mysql_install_db
# ./mysql_install_db
===> /usr/local/mysql/data 디렉토리가 생성된다.(확인할 것)
에러발생 (/usr/local/mysql/data 생성이 안된다)
==> /var/lib/mysql 디렉토리를 확인한다.
*소유권이전 (/usr/local/mysql/data/*)
mysql test 두개 디렉토리의 소유권과 소속그룹을 mysql로 지정한다.
(-R 옵션은 하위디렉토리의 권한도 포함하라는 뜻)
# chown root.mysql -R /usr/local/mysql
[root@localhost data]# cd /usr/local/
drwxr-xr-x 11 root mysql 4096 Dec 14 11:34 mysql
# chown mysql.mysql -R /usr/local/mysql/data
[root@localhost data]# cd /usr/local/mysql/data
[root@localhost data]# ll
total 8
drwx------ 2 mysql mysql 4096 Dec 14 11:34 mysql
drwx------ 2 mysql mysql 4096 Dec 14 11:34 test
*라이브러리 지정
# cat >> /etc/ld.so.conf (l은 소문자 엘)
/usr/local/mysql/lib
저장. (CTRL+D)
# ldconfig (엘디콘피그)
*SQL 설정파일 복사하기(메모리할당)
# cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf
# ls /etc/my.cnf
*/etc/my.cnf 파일수정
# vi /etc/my.cnf
Line 50로 이동하여 수정한다. => 주석처리한다.(#기호를 줄 맨앞에 붙여준다)
#skip-federated
*SQL 데몬 재실행 (service 로 시작하는 명령은 RPM 설치일 경우에 해당된다.)
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[1] 22019
[root@localhost bin]# 151214 11:52:03 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
151214 11:52:03 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
다음과 같은 에러가 발생할 경우 조치사항
# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --level 3 mysqld on
# chkconfig --level 5 mysqld on
# /etc/rc.d/init.d/mysqld start
---------------------------------------------------------
MySQL 구동
# /usr/local/mysql/bin/mysql -p mysql
password: 몰라요 알아서하세요
~~ 엔터한번 쳐보시던지....
mysql> 성공
*정상로그인시
# mysqladmin -u root password 12345678
*SQL에 관리자 패스워드 설정하기
mysql> update user set password=password('12345678') where user='root';
mysql> flush privileges;
mysql> quit
ex)
mysql> update user set password=password('12345678') 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.00 sec)
mysql> quit
mysql>show databases;
show tables;
======================================================
Apache 설치
홈페이지 : http://www.apache.org
패키지명 : httpd-2.2.25.tar.gz
httpd-2.2.25.tar.bz2
다운로드
# wget http://app.nidc.kr/httpd/httpd-2.2.25.tar.gz
# tar xvfz httpd-2.2.25.tar.gz
# cd httpd-2.2.25
소스설치
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --with-mpm=worker --enable-ssl --with-ssl --enable-so
# make && make install
*소스설치완료후 작업
# cat >> /ld.so.conf
/usr/local/apache2/lib
/usr/local/apache2/modules
저장
# ldconfig
=======================================================
PHP 설치
홈페이지 : http://www.php.net
패키지명 : php-5.2.10.tar.gz php-5.2.10.tar.bz2
사전설치
# yum install -y libxml2-devel libjpeg-devel libpng-devel
다운로드
# wget http://museum.php.net/php5/php-5.2.10.tar.bz2
# tar xvfj php-5.2.10.tar.bz2
# cd php-5.2.10
소스설치
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache2/conf --with-exec-dir=/usr/local/apache2/bin --with-gd=shared --with-openssl --with-libxml-dir=/usr/lib --with-gd --enable-gd-native-ttf --with-zlib --with-jpeg-dir=/usr/lib --with-iconv --with-png-dir=/usr/lib
# make && make install
*소스설치 완료후 사후작업
# cd php-5.2.10
# ls php.ini-recommended
# cp php.ini-recommended /usr/local/apache2/conf/php.ini
*모듈확인
# ls -l /usr/local/apache2/modules/libphp5.so
*DSO설정확인
# vi /usr/local/apache2/conf/httpd.conf
Line 107 확인
LoadModule php5_module modules/libphp5.so
Line 추가
363 AddType application/x-httpd-php .php .phtml .html .htm
364 AddType application/x-httpd-php-source .phps
*테스트용 php 파일 생성
# cat > /usr/local/apache2/htdocs/test.php
<?php phpinfo(); ?>
저장.
*아파치데몬재실행
#/usr/local/apache2/bin/apachectl start
*홈페이지 테스트점검
웹브라우저 실행후 http://localhost ==> It works
http://localhost/test.php ==> php 테스트창이 보인다.
http://localhost ==> It works => /usr/local/apache2/htdocs/index.html
==========================================================
소스설치 제거하기
1. 각 소스디렉토리로 이동하여 make clean 명령을 실행한다.
2. 각 소스디렉토리를 삭제한다.
'IT 관련정보 > 리눅스' 카테고리의 다른 글
리눅스 마스터 1급 - 실기 요약 (2) | 2017.04.19 |
---|---|
리눅스 기본 이론(13) - RAID 구축하기 (0) | 2017.04.19 |
리눅스 기본 이론(12) - NFS (0) | 2017.04.19 |
리눅스 기본 이론(11) - SAMBA, DHCP (0) | 2017.04.19 |
리눅스 기본 이론(10) - 네트워크 설정, 네트워크 진단 명령어, 서버 포트와 방화벽 (0) | 2017.04.19 |