본문 바로가기

IT 관련정보/리눅스

리눅스 기본이론(14) -APM(Apache, PHP, MariaDB) 설치

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. 각 소스디렉토리를 삭제한다.