리눅스

본문 바로가기
사이트 내 전체검색


리눅스
리눅스

10. CentOS 7에 Apache 2.2, mysql 5.1, php 5.2 설치하기

페이지 정보

작성자 관리자 댓글 0건 조회 9,278회 작성일 19-10-25 23:07

본문

10. CentOS 7에 Apache 2.2, mysql 5.1, php 5.2 설치하기

1. MySQL 설치하기

 

▶ 다운받기

해당 사이트(http://www.mysql.com)에서 다운 받으세요

 

# wget  https://www.leelab.co.kr/down/mysql-5.1.73.tar.gz


▶ 소스 컴파일

 

 

# tar xvfz mysql-5.1.73.tar.gz

# cd mysql-5.1.73

# ./configure --prefix=/usr/local/mysql --with-charset=euckr --localstatedir=/usr/local/mysql/data

...​

/bin/rm: cannot remove 'libtoolT': No such file or directory
config.status: executing default commands

Thank you for choosing MySQL!

Remember to check the platform specific part of the reference manual
for hints about installing MySQL on your platform.
Also have a look at the files in the Docs directory.

[root@localhost mysql-5.1.73]#


​오류는 무시하고 진행한다.

# make

# make install 

 

 

▶ 데이터베이스 설치


이제 데이터베이스를 설치한다. 반드시 다음과 같이 한다.


# /usr/local/mysql/bin/mysql_install_db

 

▶ MySQL 데몬 실행하기

데몬을 실행하기위해 mysql 계정이 있어야 한다.

# cat /etc/passwd | grep mysql


아무것도 나타나지 않는다면 아래와 같이 계정을 추가한다.

# useradd mysql


아래와 같이 디렉토리 권한변경을 해준다.

# chown -R mysql /usr/local/mysql/var

이제 실행할 준비가 됐으니 데몬을 실행하면 OK !!!

# /usr/local/mysql/bin/mysqld_safe &

 

▶ MySQL root 암호 변경하기

# /usr/local/mysql/bin/mysqladmin -u root password '1234'


위와 같이하면 암호가 1234로 바뀐다.

 

 

서비스 데몬 추가하기

 

#  pkill mysqld

# cp -a /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

# chkconfig mysqld on

# service mysqld stop

# service mysqld start​

 

2. APACHE Web Server 설치하기


▶ 다운받기

해당 사이트(http://www.apache.org)에서 다운 받으세요

# wget  https://www.leelab.co.kr/down/httpd-2.2.34.tar.gz

▶ 소스 컴파일  

# tar xvfz httpd-2.2.34.tar.gz

# cd httpd-2.2.34

# ./configure --prefix=/usr/local/httpd --enable-shared=max --enable-module=all

# make

# make install

 

▶ 아파치 데몬 실행하기


데몬을 종료할 때 아래와 같이 한다.

# /usr/local/httpd/bin/apachectl stop


데몬을 시작할 때 아래와 같이 한다.

# /usr/local/httpd/bin/apachectl start

 


아파치 데몬 실행확인

# ps axf

서비스 데몬 추가하기

# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd​

# chkconfig httpd on
httpd 서비스는 chkconfig 를 지원하지 않습니다

# vi /etc/init.d/httpd

#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: 345 85 15
# description: Apache is a World Wide Web server.
# processname: /usr/local/apache/bin/apachectl
# pidfile: /usr/local/apache/logs/httpd.pid
# config: /usr/local/apache/conf/httpd.conf

#
# Licensed to the Apache Software Foundation (ASF) under one or more

​위 부분을 추가한다.


# chkconfig httpd on

# service httpd start 

 

 

 

3. PHP 설치하기


▶ 다운받기

해당 사이트(http://www.php.net)에서 다운 받으세요

 

# wget  https://www.leelab.co.kr/down/php-5.2.17.tar.gz


▶ 소스 컴파일


# tar xvfz php-5.2.17.tar.gz

# cd php-5.2.17

# ./configure --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/httpd --with-mysql=/usr/local/mysql --disable-debug

# make

​/root/php-5.2.17/ext/dom/node.c: In function ‘dom_canonicalization’:
/root/php-5.2.17/ext/dom/node.c:1953:21: error: dereferencing pointer to incomplete type
    ret = buf->buffer->use;
                     ^
In file included from /root/php-5.2.17/main/php.h:38:0,
                 from /root/php-5.2.17/ext/dom/node.c:26:
/root/php-5.2.17/ext/dom/node.c:1955:40: error: dereferencing pointer to incomplete type
     RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
                                        ^
/root/php-5.2.17/Zend/zend_API.h:472:14: note: in definition of macro ‘ZVAL_STRINGL’
   char *__s=(s); int __l=l;  \
              ^
/root/php-5.2.17/ext/dom/node.c:1955:5: note: in expansion of macro ‘RETVAL_STRINGL’
     RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
     ^
make: *** [ext/dom/node.lo] 오류 1
[root@localhost php-5.2.17]#


# wget -O php.patch  https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt

 

# patch -p0 -b < php.patch


patching file ext/dom/node.c

 

Hunk #1 succeeded at 1950 (offset 55 lines).

patching file ext/dom/documenttype.c

Hunk #1 succeeded at 215 (offset 10 lines).

patching file ext/simplexml/simplexml.c

Hunk #1 succeeded at 1343 (offset -74 lines).

 

# make

# make install

 


PHP 환경설정 파일을 복사한다.

# cp php.ini-production /usr/local/httpd/php.ini

 


# cd /usr/local/httpd/

# vi php.ini

...

short_open_tag = Off <- On으로 수정한다.

...

 

 

 

아파치 웹서버에 PHP모듈 추가하기 위해 아래와 같이 설정을 추가한다.

# cd /usr/local/httpd/conf/extra

# vi httpd-php5.conf

<IfModule !mod_php5.c>

LoadModule php5_module modules/libphp5.so

</IfModule>

<IfModule mod_mime.c>

AddType application/x-httpd-php .php .php3 .phtml

AddType application/x-httpd-php-source .phps

</IfModule>

 


# cd /usr/local/httpd/conf

# vi httpd.conf

.... 마지막줄에 아래와 같이 추가한다.

   # PHP

   include conf/extra/httpd-php5.conf

 

 

 

PHP 설치확인을 위해 아래 파일을 홈페이지 홈디렉토리에 만든다.

info.php라는 파일로 다음을 작성하자.

# cd /usr/local/httpd/htdocs

# vi info.php

<?

phpinfo();

?>

 


아파치 데몬을 재시작한다.

# /usr/local/httpd/bin/apachectl stop

# /usr/local/httpd/bin/apachectl start

 

웹부라우저를 띄우고 http://localhost를 주소에 입력한다. 

 


4. Zend Optimizer 설치하기


▶ 다운받기

해당 사이트(http://www.zend.com)에서 다운 받으세요

 

# wget  https://www.leelab.co.kr/down/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz


▶ 소스 컴파일


# tar xvfz ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

# cd ZendOptimizer-3.3.9-linux-glibc23-i386


ZendOptimizer.so 파일을 /user/local/lib/ 에 복사를 합니다.

# ls data/

현재 php-5.2.x용 ZendOptimizer는 없다. 혹시 있다면 해당 버전을 복사합니다.

# cp data/5_2_x_comp/ZendOptimizer.so /usr/local/lib

 

PHP 환경설정 파일에 ZendOptimizer를 추가한다.

# cd /usr/local/httpd

# vi php.ini

... 생략

[Zend]
zend_optimizer.optimization_level=15
zend_extension=/usr/local/lib/ZendOptimizer.so


하단에 위와 같이 추가한다.

 


5. 설치 확인하기


이제 모든 것이 제대로 되었다면 간단한 PHP 테스트파일을 만들어 확인해 보자.


info.php라는 파일로 다음을 작성하자.


[root@leelab htdocs]# vi info.php

<?

phpinfo();

?>

 


아파치의 htdocs라는 HTML 문서가 위치하는 곳에 놓고 브라우저를 통해 확인해 보면 아래와 같은 화면을 볼 수 있다.  

 

 

6. 가상호스트 설정하기

 

[root@localhost ~]# cd /usr/local/httpd/conf/extra 

[root@localhost extra]# vi httpd-vhosts.conf
NameVirtualHost *:80 

<VirtualHost *:80>
    ServerAdmin leejinkwan@gmail.com
    DocumentRoot "/home/leelab/htdocs"
    ServerName block.leelab.co.kr
    ErrorLog "logs/leelab-error_log"
    CustomLog "logs/leelab-access_log" common
<Directory "/home/leelab/htdocs/">
Options  FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost> 

 

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.