一、 安裝Apachephp
1) 安裝aprhtml
[root@www lamp]# yum install zlib-devel gcc gcc-c++ openssl-devel pcre-devel -ymysql
[root@www lamp]# tar -jxf apr-1.4.6.tar.bz2c++
[root@www lamp]# cd apr-1.4.6sql
[root@www apr-1.4.6]# ./configure --prefix=/usr/local/apr數據庫
[root@www apr-1.4.6]# make && make installapache
2) 安裝apr-utilvim
[root@www lamp]# tar -jxf apr-util-1.5.1.tar.bz2api
[root@www lamp]# cd apr-util-1.5.1瀏覽器
[root@www apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util —with-apr=/usr/local/apr/
[root@www apr-util-1.5.1]#make && make install
3) 安裝httpd並啓動Apache
[root@www lamp]# tar -zxf httpd-2.4.3.tar.gz
[root@www lamp]# cd httpd-2.4.3
[root@www httpd-2.4.3]#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-module=so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --with-mpm=prefork --enable-nonportable-atomics --disable-ipv6 --with-sendfile
[root@www httpd-2.4.3]# make && make install
[root@www local]#/usr/local/apache/bin/apachectl -k start
[root@www local]# lsof -i:80
釋義:
--enable-module=so 啓用模塊
--enable-defalte=shared 傳輸時啓用壓縮支持
--enable-expires=shared 支持HTTP控制
--enable-rewrite=shared 支持URL重寫
--enable-cache 支持緩存
--enable-file-cache 支持文件緩存
--enable-mem-cache 支持內存緩存
--enable-disk-cache 支持磁盤緩存
--enable-static-support 支持靜態連接(庫文件),靜態編譯到Apache中會大大優化Apache的功能
--enable-static-ab 使用靜態連接編譯ab工具頁面
--disable-userdir 禁止用戶從本身的主目錄中提供
--with-mpm=prefork 讓Apache使用prefork模式運行
--enable-nonportable-atomics 支持原子操做
--disable-ipv6 禁用ipv6
--with-sendfile 零拷貝,節省系統開銷
apachectl –k start 「-k」測試配置文件是否有語法錯誤
4) 測試
Firefox---localhost---「It Works」
二、 安裝MySQL
1)安裝cmake(編譯MySQL的工具_32位的系統)
若是是64位的系統,用yum直接安裝cmake便可!!!
若是是32位的系統,以下操做來安裝cmake:
cmake-3.5.2-Linux-i386.tar.gz 軟件包,解壓縮就能用
[root@www lamp]# tar -zxf cmake-3.5.2-Linux-i386.tar.gz -C /usr/local/cmake
修改環境變量,讓root能夠直接使用cmake命令
[root@www lamp]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/cmake/cmake-3.5.2-Linux-i386/bin
[root@www lamp]# source ~/.bash_profile
[root@www lamp]# which cmake
/usr/local/cmake/bin/cmake
注:若是在其餘終端沒法使用該命令,重啓系統便可
2) 安裝MySQL
腳本以下:
#!/bin/bash
yum remove mariadb-server mariadb mysql-server mysql mysql-devel -y && yum install gcc gcc-c++ ncurses-devel libtool openssl-devel && useradd -s /sbin/nologin -r mysql && mkdir -pv /usr/local/mysql/data && tar zxf mysql-5.5.29.tar.gz && cd mysql-5.5.29 && cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_INNODBBASE_STORAGE_ENGINE=1 \
-DENABLE_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_EMBEDED_SERVER=0 && make && make install && cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf && cp support-files/mysql.server /etc/init.d/mysqlsource && chmod 755 /etc/init.d/mysqlsource && chown mysql.mysql /usr/local/mysql/ -R && sh scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ && ln -s /usr/local/mysql/bin/* /usr/bin/ && ln -s /usr/local/mysql/lib/* /usr/lib/ && ln -s /usr/local/mysql/libexec/* /usr/local/libexec && ln -s /usr/local/mysql/share/man/man1/* /usr/share/man/man1 && ln -s /usr/local/mysql/share/man/man8/* /usr/share/man/man8
啓動MySQL
[root@localhost lamp_software]# /etc/init.d/mysqlsource start
Starting MySQL............. [肯定]
[root@localhost lamp_software]# lsof -i:3306
若是mysql沒法啓動,查看其錯誤日誌文件,以下:
[root@www mysql]# tailf /usr/local/mysql/data/localhost.localdomain.err
[ERROR] Can't start server : Bind on unix socket: Permission denied 這樣的字樣
該錯誤是因爲本機MySQL客戶端與服務器端通訊使用的是mysql.sock文件,若是mysql不能往該文件中寫入,就 會報錯說權限拒絕!解決方案以下:
去配置文件查看mysql.sock文件存放路徑,而後修改該目錄權限
[root@www mysql]# ll -d /usr/local/mysql/
drwxr-xr-x 13 root mysql 4096 10月 18 13:21 /usr/local/mysql/
[root@www mysql]# chmod g+w /usr/local/mysql/
3) 測試安裝,訪問mysql
[root@localhost lamp]# mysql
三、 安裝PHP —>嚴格按照下列的安裝順序安裝各個軟件包!
1)安裝libiconv---實現字符編碼的轉換
[root@www lamp]# tar -zxf libiconv-1.14.tar.gz
[root@www lamp]# cd libiconv-1.14
[root@www libiconv-1.14]# ./configure && make && make install
2)安裝libmcrypt ---mcrypt的連接庫
[root@www lamp]# tar -zxf libmcrypt-2.5.8.tar.gz
[root@www lamp]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ./configure && make && make install
***[root@www libmcrypt-2.5.8]# cd libltdl/ 用來加載運行庫的庫
[root@localhost libltdl]# ./configure --enable-ltdl-install && make && make install 安裝
[root@www mhash-0.9.9.9]# ln -s /usr/local/bin/libmcrypt-config /usr/bin/
[root@www mhash-0.9.9.9]# ln -s /usr/local/lib/* /usr/lib 建立連接庫文件
報錯:
_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
***
configure: error: *** libmcrypt was not found
[root@Apache_Server mcrypt-2.6.8]#
解決方法:
****環境變量****
export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH
3)安裝mhash
[root@www lamp]# tar -zxf mhash-0.9.9.9.tar.gz
[root@www lamp]# cd mhash-0.9.9.9
[root@www mhash-0.9.9.9]# ./configure && make && make install
4)安裝mcrypt ---PHP支持加密的程序
[root@www lamp]# tar -zxf mcrypt-2.6.8.tar.gz
[root@www lamp]# cd mcrypt-2.6.8
[root@www mcrypt-2.6.8]# ./configure && make && make install
5)安裝PHP
[root@www lamp]# yum install libxml2-devel libpng-devel bzip2-devel curl-devel libjpeg-devel freetype-devel net-snmp-devel -y
[root@www lamp]# tar -jxf php-5.4.11.tar.bz2
[root@www lamp]# cd php-5.4.11
[root@www php-5.4.11]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=apache --with-fpm-group=apache --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-mhash --enable-mbstring --with-mcrypt --enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --disable-rpath --disable-debug --with-apxs2=/usr/local/apache/bin/apxs
[root@Lamp php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/local/lib/ 避免編譯安裝時找不到libmysqlclient.so.18庫文件
[root@www php-5.4.11]# make ZEND_EXTRA_LIBS='-liconv' && make install
若是遇到報錯以下:
/usr/src/lamp/php-5.4.11/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
make[1]: *** [install-pear-installer] 錯誤 127
make: *** [install-pear] 錯誤 2
解決方法:
[root@www php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/
上面的可能仍然沒法解決問題,看下面:
由於以前增長了****環境變量**** LD_LIBRARY_PATH,故php的加載libmysqlclient.so.18時會從該變量指定的路徑去找,因此執行下面的命令:
[root@Lamp php-5.4.11]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/local/lib/
6)配置PHP和Apache
拷貝php的配置文件
[root@www php-5.4.11]# cp php.ini-production /usr/local/php/etc/php.ini
修改Apache配置文件,設置php的索引頁
[root@www php-5.4.11]# vim /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
寫一個PHP頁面
[root@www php-5.4.11]# vim /usr/local/apache/htdocs/index.php
<?php phpinfo(); ?> //勿用「顯示時間頁面」演示,不然報錯—PHP語法報錯—不指望的」,」
修改Apache文檔根目錄下的索引頁
[root@www php-5.4.11]# cd /usr/local/apache/htdocs/
[root@www htdocs]# mv index.html index.html.bak
重啓Apache
[root@www php-5.4.11]# killall httpd
[root@www php-5.4.11]# /usr/local/apache/bin/apachectl -k start
7)測試:
地址欄—>localhost(回車)—>php首頁
四、 將PHP製做成服務
PHP-5.4以前版本,使用fastCGI作服務
PHP-5.4之後版本,使用fpm作服務
php-fpm:FastCGI Process Manager(FastCGI進程管理器)
1)設置啓動管理腳本
[root@www mysql]# cd /usr/src/lamp-software/php-5.4.11
[root@www php-5.4.11]# cd sapi/
[root@www sapi]# cd fpm/
[root@www fpm]# cp init.d.php-fpm /etc/init.d/php-fpm 啓動管理腳本
[root@www fpm]# chmod 755 /etc/init.d/php-fpm
2)設置fpm配置文件
[root@www fpm]# cd /usr/local/php/etc/
[root@www etc]# cp php-fpm.conf.default php-fpm.conf
listen = 0.0.0.0:9000 監聽端口
access.log = /tmp/fpm.access.log 訪問日誌
error_log = /tmp/fpm.err.log 錯誤日誌
[root@www etc]# /etc/init.d/php-fpm start 啓動PHP服務
五、安裝Discuz論壇
1)解壓縮軟件包
[root@www lamp]# mkdir Discuz
[root@www lamp]# mv Discuz_7.2_FULL_SC_UTF8.zip Discuz
[root@www lamp]# cd Discuz
[root@www Discuz]# unzip Discuz_7.2_FULL_SC_UTF8.zip
[root@www Discuz]# mv upload/* /usr/local/apache/htdocs/
mv:是否覆蓋"/usr/local/apache/htdocs/index.php"? y
2)安裝配置
瀏覽器中輸入http://localhost/install進行安裝
報錯:「對不起,請將 php.ini 中的 short_open_tag 設置爲 On,不然沒法繼續安裝」
[root@www Discuz]# vim /usr/local/php/etc/php.ini
short_open_tag = On //php語法有關。開啓後可使用<? =替代<? echo
重啓Apache使修改生效
[root@www Discuz]# killall httpd
[root@www Discuz]# /usr/local/apache/bin/httpd
刷新頁面---權限不可寫,操做以下:
[root@www Discuz]# cd /usr/local/apache/htdocs/
[root@www htdocs]# chmod 777 -R * 線上注意:只改那些須要改的文件
再次刷新頁面—下一步,下面是須要填寫的項目:
數據庫用戶名:root
數據庫密碼:空
管理員密碼:123456
重複密碼:123456
其餘項目默認值便可
下一步,改善計劃---跳過---完成