搭建LAMPphp
一個完整的LAMP的web架構由linux + http + mysql + php四部分搭建組成。html
1、編譯安裝apache,使用httpd-2.4.6版mysql
一、準備編譯安裝環境,解決依賴關係;linux
[root@localhost ~]# yum gruoplist [root@localhost ~]# yum gruopinstall "Development tools" "Server Platfrom Development"
二、下載搭建httpd的軟件包,apr、apr-util、httpd;
web
[root@localhost ~]# lftp 172.16.0.1 lftp 172.16.0.1:~> cd pub/Sources/sources/httpd/ lftp 172.16.0.1:/pub/Sources/sources/httpd> ls ....... lftp 172.16.0.1:/pub/Sources/sources/httpd> mget apr-1.4.6.tar.bz2 apr-util-1.5.2.tar.bz2 httpd-2.4.6.tar.bz2 6428879 bytes transferred Total 3 files transferred
[root@localhost ~]# ls anaconda-ks.cfg apr-util-1.5.2.tar.bz2 install.log apr-1.4.6.tar.bz2 httpd-2.4.6.tar.bz2 install.log.syslog
三、編譯安裝apr;
sql
[root@localhost ~]# tar xf apr-1.4.6.tar.bz2 [root@localhost ~]# cd apr-1.4.6 [root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr [root@localhost apr-1.4.6]# make && make install
四、編譯安裝apr-util;
apache
[root@localhost ~]# tar xf apr-util-1.5.2.tar.bz2 [root@localhost ~]# cd apr-util-1.5.2 [root@localhost apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@localhost apr-util-1.5.2]# make && make install
五、編譯安裝httpd;
vim
lapi
[root@localhost ~]# tar xf httpd-2.4.6.tar.bz2 [root@localhost ~]# cd httpd-2.4.6 [root@localhost httpd-2.4.6]# yum -y install pcre-devel [root@localhost httpd-2.4.6]# yum -y install openssl-devel [root@localhost httpd-2.4.6]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event [root@localhost httpd-2.4.6]# make && make install
六、提供httpd Sysv 服務腳本,修改httpd的配置文件,設置其pid文件的路徑;
安全
[root@localhost httpd-2.4.6]# cp build/rpm/httpd.init /etc/rc.d/init.d/httpd cp: overwrite `/etc/rc.d/init.d/httpd'? y [root@localhost httpd-2.4.6]# vim /etc/rc.d/init.d/httpd prog=httpd httpd=${HTTPD-/usr/local/apache/bin/httpd} pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid} lockfile=${LOCKFILE-/var/lock/subsys/${prog}} RETVAL=0 # check for 1.3 configuration check13 () { CONFFILE=/usr/local/apache/conf/httpd.conf
[root@localhost httpd-2.4.6]# vim /usr/local/apache/conf/httpd.conf ServerName 172.16.20.5:80
七、爲httpd服務添加環境變量;
[root@localhost ~]# echo "PATH=/usr/local/apache/bin/:$PATH" > /etc/profile.d/httpd.sh [root@localhost ~]# source /etc/profile.d/httpd.sh
八、將httpd服務加入列表,將其啓動。
[root@localhost ~]# chkconfig --add httpd [root@localhost ~]# chkconfig httpd on [root@localhost ~]# chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@localhost ~]# service httpd start Starting httpd: [ OK ]
2、編譯安裝mysql,使用mysql-5.5.28
一、準備編譯安裝環境,建立用於存儲數據的文件系統,並下載解壓mysql的通用二進制軟件包;
[root@localhost ~]# mkdir -pv /mysql/mydata mkdir: created directory `/mysql' mkdir: created directory `/mysql/mydata' [root@localhost ~]# lftp 172.16.0.1 lftp 172.16.0.1:~> cd pub/Sources/6.x86_64/mysql/ lftp 172.16.0.1:/pub/Sources/6.x86_64/mysql> ls -rw-r--r-- 1 0 0 186839926 Aug 22 04:37 mysql-5.5.33-linux2.6-x86_64.tar.gz -rw-r--r-- 1 0 0 307062424 Aug 22 05:15 mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz lftp 172.16.0.1:/pub/Sources/6.x86_64/mysql> get mysql-5.5.33-linux2.6-x86_64.tar.gz 186839926 bytes transferred in 21 seconds (8.31M/s)
[root@localhost ~]# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local/ [root@localhost ~]# cd /usr/local/ [root@localhost local]# ls apache apr-util etc include lib64 mysql-5.5.33-linux2.6-x86_64 share apr bin games lib libexec sbin src [root@localhost local]# ln -sv mysql-5.5.33-linux2.6-x86_64/ mysql `mysql' -> `mysql-5.5.33-linux2.6-x86_64/' [root@localhost local]# cd mysql [root@localhost mysql]# ls bin data include lib mysql-test scripts sql-bench COPYING docs INSTALL-BINARY man README share support-files
二、建立mysql用戶,並以安全方式運行;
[root@localhost mysql]# chown -R mysql:mysql * [root@localhost mysql]# ll total 200 drwxr-xr-x 2 mysql mysql 4096 Sep 11 22:32 bin -rw-r--r-- 1 mysql mysql 17987 Jul 15 20:01 COPYING drwxr-xr-x 3 mysql mysql 4096 Sep 11 22:33 data drwxr-xr-x 2 mysql mysql 4096 Sep 11 22:32 docs drwxr-xr-x 3 mysql mysql 4096 Sep 11 22:33 include -rw-r--r-- 1 mysql mysql 134493 Jul 15 20:01 INSTALL-BINARY drwxr-xr-x 3 mysql mysql 4096 Sep 11 22:33 lib drwxr-xr-x 4 mysql mysql 4096 Sep 11 22:33 man drwxr-xr-x 10 mysql mysql 4096 Sep 11 22:33 mysql-test -rw-r--r-- 1 mysql mysql 2496 Jul 15 20:01 README drwxr-xr-x 2 mysql mysql 4096 Sep 11 22:33 scripts drwxr-xr-x 27 mysql mysql 4096 Sep 11 22:33 share drwxr-xr-x 4 mysql mysql 4096 Sep 11 22:33 sql-bench drwxr-xr-x 3 mysql mysql 4096 Sep 11 22:33 support-files [root@localhost ~]# useradd mysql [root@localhost ~]# chown -R mysql:mysql /mysql/mydata [root@localhost ~]# chmod -R 755 /mysql/mydata/
三、編譯安裝mysql,並進行初始化;
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/mydata
四、爲mysql服務添加環境變量;
[root@localhost mysql]# echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysqld.sh [root@localhost mysql]# source /etc/profile.d/mysqld.sh
五、爲mysql服務提供主配置文件;
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf cp: overwrite `/etc/my.cnf'? y [root@localhost mysql]# vim /etc/my.cnf # Try number of CPU's*2 for thread_concurrency thread_concurrency = 4 datadir = /mysql/mydata
六、爲mysql服務提供Sysv服務腳本;
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
七、賦權服務腳本,將服務加入列表,並啓動mysql服務。
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig mysqld on [root@localhost mysql]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@localhost mysql]# service mysqld start Starting MySQL.. [ OK ]
3、編譯安裝php-fpm,使用php 5.4.19
一、基於開發編譯環境,還須要額外解決相關的關係;
[root@localhost ~]# yum -y install libxml2-devel curl-devel bzip2-devel libmcrypt libmcrypt-devel
二、下載並編譯安裝php;
[root@localhost ~]# lftp 172.16.0.1 lftp 172.16.0.1:/pub/Sources/sources/php> mget php* xcache-3.0.3.tar.bz2 [root@localhost ~]# tar xf php-5.4.19.tar.bz2 [root@localhost ~]# cd php-5.4.19 [root@localhost php-5.4.19]# ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl --enable-maintainer-zts --enable-fpm [root@localhost php-5.4.19]# make and make install
三、爲php服務提供主配置文件;
[root@localhost php-5.4.19]# cp php.ini-production /etc/php.ini [root@localhost php-5.4.19]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [root@localhost php-5.4.19]# cd /etc/rc.d/init.d/ [root@localhost init.d]# cp init.d.php-fpm php-fpm [root@localhost php-5.4.19]# cd /usr/local/php/etc/ [root@localhost etc]# cp php-fpm.conf.default php-fpm.conf [root@localhost etc]# vim php-fpm.conf listen = 172.16.20.5:9000
四、爲php服務添加環境變量
[root@localhost php-5.4.19]# echo "PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH" >/etc/profile.d/php-fpm.sh [root@localhost php-5.4.19]# source /etc/profile.d/php-fpm.sh
五、編輯apache的主配置文件,以apache支持php
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ............. <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
六、將php-fpm服務加入列表,並啓動php-fpm服務;
[root@localhost ~]# chmod +x /etc/rc.d/init.d/php-fpm [root@localhost ~]# chkconfig --add php-fpm [root@localhost ~]# chkconfig php-fpm on [root@localhost ~]# chkconfig --list php-fpm php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@localhost ~]# service php-fpm start Starting php-fpm done
七、從新啓動httpd服務,並配置相關頁面文件,訪問相關web頁面進行測試。