LAMP是系統管理者和PHP程式員基本的技術技能,在伺服器上營運最多的,最常用,強大的web服務環境.記錄如下:
使用yum包管理工具,先安裝好基礎的編譯工作,子產品,元件.
# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel
1. MySql的安裝,配置,初始化設定.
# wget wget http://down1.chinaunix.net/distfiles/mysql-5.1.7-beta.tar.gz
# tar -zxvf mysql-5.1.7-beta.tar.gz
# cd mysql-5.1.7-beta
# ./configure --prefix/usr/local/mysql
# make && make install
# cp support-files/my-medium.cnf /etc/my.cnf
# groupadd mysql
# useradd mysql -g mysql //添加mysql使用者
# cd /usr/local/mysql
# chown -R mysql.mysql .
# bin/mysql_install_db --user=mysql //生成mysql系統資料庫
# chown -R root .
# chown -R mysql var
# bin/mysqld_safe --user=mysql & //開啟MySql服務
# cp share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on //設定開啟随機啟動mysql
# netstat -lntp //檢視mysql端口是否打開,如果沒有,看看日志,查找目錄權限是否設定正确.
# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -u root password '******' //設定mysql初始密碼
# mysql -u root -p //輸入password進行.
mysql> use mysql;
mysql> delete from user where password=""; //删除空密碼帳戶
mysql> flush privileges;
mysql> quit
2. Apache 的編譯,安裝,設定,起用.
# wget http://down1.chinaunix.net/distfiles/httpd-2.2.11.tar.bz2
# yum install apr*
# ./configure --prefix=/usr/local/apache
"--enable-rewrite" \
"--enable-proxy" \
"--enable-cache" \
"--enable-disk-cache" \
"--enable-mem-cache" \
"--enable-deflate" \
"--enable-expires" \
"--enable-headers" \
"--enable-so" \
"--enable-proxy-balancer" \
"--enable-proxy-http" \
# /usr/local/apache/bin/apachectl start //啟動apache
# echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local //随機啟動
3.php install & gd install 安裝,配置,調整.
# wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
# tar -zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd
# make
# make install
# wget http://cn.php.net/distributions/php-5.2.9.tar.gz
# tar -zxvf php-5.2.9.tar.gz;cd php-5.2.9
# ./configure --prefix=/usr/local/php \
"--with-apxs2=/usr/local/apache/bin/apxs \"
"--with-mysql=/usr/local/mysql/ \"
"--with-gd=/usr/local/gd/ \"
"--with-zlib-dir \"
"--with-png-dir \"
"--with-freetype-dir \"
"--with-jpeg-dir \"
"--enable-mbstring=all --with-curl \"
# cp php.ini-dist /usr/local/php/etc/php.ini
問題:
# /usr/local/apache/bin/apachectl restart ---重新開機出現如下錯誤
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
解決辦法:
# getenforce selinux
Enforcing
# setenforce 0 //關閉selinux防火牆後,重新開機服務OK.
4. 安裝Zend Optimizer
# wget http://down1.chinaunix.net/distfiles/ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz
# tar -zxvf ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.0.0-linux-glibc21-i386
# ./ZendOptimizer-3.0.0-linux-glibc21-i386/install.sh
安裝ZendOptimizer過程的最後不要選擇重新開機Aapaceh.
整合Apache與PHP及系統初始化配置.
整合Aapache與PHP
# vi /usr/local/apache/conf/httpd.conf
找到
AddType application/x-gzip .gz .tgz
在該行下面添加
AddType application/x-httpd-php .php
找到:
DirectoryIndex index.html
将該行改為:
DirectoryIndex index.php index.htm index.html
#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-info.conf
#Include conf/extra/httpd-vhosts.conf (虛拟主機存放目錄)
#Include conf/extra/httpd-default.conf
去掉前面"#"号,取消注釋.
注意.以上4個擴充配置檔案中的設定請按照相關原則進行合理配置!
修改完成後儲存退出.
# /usr/local/apache/bin/apachectl restart
檢視确認L.A.M.P環境資訊.提升PHP安全性.
在預設目錄存放indexinfo.php腳本,檢查phpinfo中的各項資訊是否正确.
<?
phpinfo();
?>
5. phpMyAdmin安裝,配置
# wget http://down1.chinaunix.net/distfiles/phpMyAdmin-2.8.2.tar.bz2
# touch config.inc.php //具體詳細:略.--google去.
本文出自 “劉世發” 部落格,請務必保留此出處http://gslsf223.blog.51cto.com/758047/223636
本文出自 51CTO.COM技術部落格