>  기사  >  백엔드 개발  >  PHP - CentOS 65에서 LAMP 환경을 구축하는 세부 단계

PHP - CentOS 65에서 LAMP 환경을 구축하는 세부 단계

WBOY
WBOY원래의
2016-07-29 09:15:07963검색
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48551221

1. LAMP 구축에 필요한 환경이 설치되어 있는지 확인:

[root@localhost ~]#rpm -q make gcc gcc-c++ zlib-devel libtool libtool-ltdl libtool-ltdl-devel bisonncurses-devel
참고: libpng 설치 시 zlib-devel이 필요하며, 설치 시 libtool-ltdl 및 libtool-ltdl이 필요합니다. php.-devel
mysql을 설치할 때 bison과 ncurses-devel이 필요합니다.
2. 설치되지 않은 경우 yum으로 설치:

[root@localhost~]#yum -y install make gcc gcc-c++ zlib-devel libtool libtool-ltdllibtool-ltdl-devel bison ncurses-devel
3. 컴파일 및 설치를 사용해야 하므로 httpd, mysql, php가 설치되어 있는지 확인:

설치된 경우 제거:
[root@localhost ~]#rpm -q httpd mysql php

컴파일 및 설치 과정 소개:
[root@localhost ~]#rpm -e httpd --nodeps
[root@localhost ~]#rpm -e mysql --nodeps
[root@localhost ~]#rpm -e php --nodeps
1) 접미사 tar.gz가 붙은 압축 소프트웨어 패키지의 압축을 푼다: LAMP 환경 구축에 필요한 각 소프트웨어의 소프트 코드 파일 모두 tar.gz 또는 .tgz에 있습니다. 압축된 zip 파일이 제공되므로 압축을 풀고 다시 압축을 풀어야 합니다. 명령은 다음과 같습니다.
tar–zxvf *.tar.gz
2) Linux 시스템에서 소스코드 패키지 설치 과정: LAMP 환경 구축에 필요한 소프트웨어는 C 언어를 사용하여 개발되므로 최소한의 패키지 설치 설치할 소스코드 파일은 구성, 컴파일, 설치 3단계
구성, 컴파일(make), 설치(makeinstall)

4. libxml2 컴파일 및 설치

[root@localhostlinux]# tar -zxvf libxml2-2.6.30.tar.gz 
[root@localhostlinux]# cd libxml2-2.6.30 
[root@localhostlibxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
[root@localhostlibxml2-2.6.30]# make
[root@localhostlibxml2-2.6.30]# make install
5. libmcrypt 컴파일 및 설치

[root@localhostlinux]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@localhostlinux]# cd libmcrypt-2.5.8
[root@localhostlibmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
[root@localhostlibmcrypt-2.5.8]# make
[root@localhostlibmcrypt-2.5.8]# make install
6. zlib 컴파일 및 설치

[root@localhostlinux]# tar -zxvf zlib-1.2.3.tar.gz
[root@localhostlinux]# cd zlib-1.2.3
[root@localhostzlib-1.2.3]# CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib/
(用64位元的方法进行编译)
[root@localhostzlib-1.2.3]# make
[root@localhostzlib-1.2.3]# make install
7. libpng 컴파일 및 설치

[root@localhostlinux]# tar -zxvf libpng-1.2.31.tar.gz
[root@localhostlinux]# cd libpng-1.2.31
[root@localhostlibpng-1.2.31]# ./configure --prefix=/usr/local/libpng \
>--enable-shared (建立共享库使用的GNU的libtool)
[root@localhostlibpng-1.2.31]# make
[root@localhostlibpng-1.2.31]# make install
8. 컴파일 및 설치 install jpeg

[root@localhostlinux]# tar -zxvf jpegsrc.v6b.tar.gz
[root@localhostlinux]# cd jpeg-6b
[root@localhostjpeg-6b]# mkdir /usr/local/jpeg                    (创建jpeg软件的安装目录)
[root@localhostjpeg-6b]# mkdir /usr/local/jpeg/bin            (创建存放命令的目录)
[root@localhostjpeg-6b]# mkdir /usr/local/jpeg/lib             (创建jpeg库文件所在目录)
[root@localhostjpeg-6b]# mkdir /usr/local/jpeg/<strong>include</strong>      (创建存放头文件目录)
[root@localhostjpeg-6b]# mkdir -p /usr/local/jpeg/man/man1  (建立存放手册的目录)
[root@localhostjpeg-6b]# ./configure --prefix=/usr/local/jpeg \
>--enable-shared \    (建立共享库使用的GUN的libtool)
>--enable-static        (建立静态库使用的GUN的libtool)
[root@localhostjpeg-6b]# make
[root@localhostjpeg-6b]# make install
make 실행 시 다음 오류가 발생하는 경우: ./libtool --mode=compile gcc-O2 -I. -c ./jcapimin.c
make: . /libtool: Command notfound
make: *** [jcapimin.lo] 오류 127
해결책:
libtool 및 libtool-ltdl-devel은 기본적으로 설치됩니다(필요한 경우 프로세스 2를 참조하십시오). help)

즉, libtool의 두 구성 파일을 사용하여 jpeg-6b 디렉터리의 해당 파일을 덮어쓰고
[root@localhostjpeg-6b]# find / -name config.sub
/usr/share/libtool/config/config.sub
[root@localhostjpeg-6b]# find / -name config.guess
/usr/share/libtool/config/config.guess
[root@localhostjpeg-6b]# cp -vRp /usr/share/libtool/config/config.sub .
[root@localhostjpeg-6b]# cp -vRp /usr/share/libtool/config/config.guess .
make clean 후 재구성합니다.
9. freetype 컴파일 및 설치


[root@localhostlinux]# tar -zxvf freetype-2.3.5.tar.gz
[root@localhostlinux]# cd freetype-2.3.5
[root@localhostfreetype-2.3.5]# ./configure --prefix=/usr/local/freetype \
>--enable-shared    (建立共享库使用的GUN的libtool)
[root@localhostfreetype-2.3.5]# make
[root@localhostfreetype-2.3.5]# make install
10. autoconf 컴파일 및 설치

[root@localhostlinux]# tar -zxvf autoconf-2.61.tar.gz
[root@localhostlinux]# cd autoconf-2.61
[root@localhostautoconf-2.61]# ./configure
[root@localhostautoconf-2.61]# make
[root@localhostautoconf-2.61]# make install
11. GD 컴파일 및 설치

make를 실행하면 다음 오류가 나타납니다.
[root@localhostlinux]# tar -zxvf gd-2.0.35.tar.gz
[root@localhostlinux]# cd gd-2.0.35
[root@localhostgd-2.0.35]# ./configure --prefix=/usr/local/gd \
>--with-zlib=/usr/local/zlib/ \      (指定zlib库文件的位置)
>--with-jpeg=/usr/local/jpeg/ \    (指定jpeg库文件的位置)
>--with-png=/usr/local/libpng/ \  (指定png库文件的位置)
>--with-freetype=/usr/local/freetype/     (指定freetype字体库的位置)
[root@localhostgd-2.0.35]# make
[root@localhostgd-2.0.35]# make install

make[2]: *** [gd_png.lo] 오류 1make[2]: Leaving Directory`/usr/src/linux/gd-2.0 .35'
make[1]: *** [전체 재귀]오류 1
make[1]: 디렉토리를 떠나는 중`/usr/src/linux/gd-2.0.35'
make: *** [모두 ] 오류 2
해결책:
[root@localhostgd-2.0.35]# find / -name gd_png.c
/usr/src/linux/gd-2.0.35/gd_png.c
[root@localhostgd-2.0.35]# find / -name png.h
/usr/local/libpng/<strong>include</strong>/png.h
[root@localhostgd-2.0.35]# vi /usr/src/linux/gd-2.0.35/gd_png.c
将#<strong>include</strong> "png.h"    
改为#<strong>include</strong> "/usr/local/libpng/<strong>include</strong>/png.h"
12.

Apache

컴파일 및 설치 서비스 시작 시 다음 오류가 발생하는 경우:
[root@localhostlinux]# tar -zxvf httpd-2.2.9.tar.gz
[root@localhostlinux]# cd httpd-2.2.9
[root@localhosthttpd-2.2.9]# ./configure --prefix=/usr/local/<strong>Apache</strong> \
> --enable-so \       (以动态共享<strong>对象</strong>编译)
>--enable-rewrite  (基于规则的URL操控)
[root@localhosthttpd-2.2.9]# make
[root@localhosthttpd-2.2.9]# make install
将<strong>Apache</strong>加入开机启动↓
[root@localhosthttpd-2.2.9]# cp -vRp /usr/local/<strong>Apache</strong>/bin/<strong>Apache</strong>ctl /etc/init.d/httpd
[root@localhosthttpd-2.2.9]# <strong>chmod</strong> +x /etc/init.d/httpd 
添加<strong>Apache</strong>服务↓
[root@localhosthttpd-2.2.9]# chkconfig --add httpd
[root@localhosthttpd-2.2.9]# chkconfig --level 2345 httpd on
[root@localhosthttpd-2.2.9]# service httpd start

httpd: 서버의 정규화된 파일을 안정적으로 확인할 수 없습니다. ServerName에 대해 localhost.localdomain을 사용하는 도메인 이름 해결 방법:

추가: ServerName localhost:80
[root@localhosthttpd-2.2.9]# vi /usr/local/<strong>Apache</strong>/conf/httpd.conf
chkconfig를 실행할 때 다음 오류가 발생하는 경우:

service httpd does chkconfig를 지원하지 않음 해결 방법:


파일의 두 번째 줄에
[root@localhosthttpd-2.2.9]# vi /etc/rc.d/init.d/httpd
를 추가하고 chkconfig를 실행하기 전에 저장하세요
#chkconfig:2345 10 90
#description:Activates/Deactivates<strong>Apache</strong> Web Server

13. mysql을 컴파일하고 설치합니다( 최신 버전에서는 cmake를 컴파일해야 설치가 가능합니다.

cmake 컴파일 및 설치

MySQL5.5.20 컴파일 및 설치
[root@localhostlinux]# tar -zxvf cmake-2.8.7.tar.gz
[root@localhostlinux]# cd cmake-2.8.7
[root@localhostcmake-2.8.7]# ./bootstrap
[root@localhostcmake-2.8.7]# gmake
[root@localhostcmake-2.8.7]# gmake install

구성 파일 수정↓
[root@localhostcmake-2.8.7]# groupadd mysql
[root@localhostcmake-2.8.7]# useradd -g mysql mysql
[root@localhostlinux]# tar -zxvf mysql-5.5.15.tar.gz
[root@localhostlinux]# cd mysql-5.5.15
[root@localhostmysql-5.5.15]#
cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \           (安装根目录)
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \   (UNIX socket文件)
>-DDEFAULT_CHARSET=utf8 \     (默认字符集)
>-DDEFAULT_COLLATION=utf8_general_ci \  (默认编码)
>-DWITH_EXTRA_CHARSETS=utf8,gbk \         (额外的编码)
>-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \(启用PERFSCHEMA引擎支持)
>-DWITH_FEDERATED_STORAGE_ENGINE=1 \   (启用FEDERATED引擎支持)
> -DWITH_PARTITI     (启用PARTITION引擎支持)
>-DWITH_ARCHIVE_STORAGE_ENGINE=1 \         (启用ARCHIVE引擎支持)
>-DWITH_READLINE=1 \(使用readline功能)
>-DMYSQL_DATADIR=/usr/local/mysql/data \  (数据库数据目录)
>-DMYSQL_TCP_PORT=3306                              (TCP/IP端口)
[root@localhostmysql-5.5.15]# make
[root@localhostmysql-5.5.15]# make install
[root@localhostmysql-5.5.15]# cp -vRp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
데이터베이스 파일 초기화↓
[root@localhostmysql-5.5.15]# vi /etc/my.cnf
     basedir=/usr/local/mysql
     datadir=/usr/local/mysql/data
     log-error=/usr/local/mysql/data/error.log
     pid-file=/usr/local/mysql/data/mysql.pid

권한 설정↓
[root@localhostmysql-5.5.15]# /usr/local/mysql/scripts/mysql_install_db \
>--defaults-flie=/etc/my.cnf \
> --basedir=/usr/local/mysql/\
>--datadir=/usr/local/mysql/data \
>--pid-file=/usr/local/mysql/data/mysql.pid \
> --user=mysql

시작에 mysql 추가↓
[root@localhostmysql]# chown -R root .
[root@localhostmysql]# chown -R mysql data
[root@localhostmysql]# chgrp -R mysql .

mysql 서비스 추가↓
[root@localhostmysql]# cp -vRp support-files/mysql.server /etc/init.d/mysqld
[root@localhostmysql]# <strong>chmod</strong> +x /etc/init.d/mysqld
mysql 구성↓
[root@localhostmysql]# chkconfig --add mysqld
[root@localhostmysql]# chkconfig --level 345 mysqld on
[root@localhostmysql]# service mysqld start

[root@localhostmysql]# bin/mysql
mysql> deletefrom mysql.user where Host!='localhost'; (只留允许本机登录的帐号)
mysql> flushprivileges;  (刷新授权表)
mysql> setpassword for 'root'@'localhost'=password('123456');  (设置用户密码)
mysql> exit
[root@localhostmysql]# bin/mysql -h localhost -u root -p123456 (登录mysql)
14. php 컴파일 및 설치

추가:
[root@localhostlinux]# tar -zxvf php-5.3.19.tar.gz
[root@localhostlinux]# cd php-5.3.19
[root@localhostphp-5.3.19]# ./configure --prefix=/usr/local/php \
>--with-apxs2=/usr/local/<strong>Apache</strong>/bin/apxs \
>--with-mysql=/usr/local/mysql/ \
>--with-libxml-dir=/usr/local/libxml2/ \
>--with-png-dir=/usr/local/libpng/ \
>--with-jpeg-dir=/usr/local/jpeg/ \
>--with-freetype-dir=/usr/local/freetype/ \
> --with-gd=/usr/local/gd/\
>--with-mcrypt=/usr/local/libmcrypt/ \
>--with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-soap\                  (变量激活SOAP和web services支持)
>--enable-mbstring=all \    (使多字节字符串支持)
>--enable-sockets                (变量激活socket通讯特性)
[root@localhostphp-5.3.19]# make
[root@localhostphp-5.3.19]# make install
[root@localhostphp-5.3.19]# cp -vRp php.ini-development /etc/php.ini
[root@localhostphp-5.3.19]# vi /usr/local/<strong>Apache</strong>/conf/httpd.conf
AddType application/x-httpd-php .php

[root@localhostphp-5.3.19]# service httpd stop
[root@localhostphp-5.3.19]# service httpd start
다음과 같이 콘텐츠를 추가하세요.
[root@localhostphp-5.3.19]# vi /usr/local/<strong>Apache</strong>/htdocs/phpinfo.php
브라우저를 열어 접속하세요. PHP 버전 인터페이스가 나타나면 설치가 성공한 것입니다.
<?php
       phpinfo();
?>

위 내용은 관련 내용을 포함하여 PHP - CentOS 65에서 LAMP 환경을 설정하는 자세한 단계를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.