LAMP
環境搭建(編譯安裝
CentOS+httpd2.2+mysql5.5+php5.4
)
首先準備如下壓縮包
<ignore_js_op>
php
(
1
)編譯安裝
apache
一、配置防火牆,開啓80端口、3306端口
執行如下命令:
#vi /etc/sysconfig/iptables
添加如下兩條規則到22端口這條規則的下面
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #容許80端口經過防火牆
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #容許3306端口經過防火牆html
2
、肯定
IP
[root@www ~]#
ifconfig eth0
3
、肯定主機名
[root@www ~]#hostname
www.htu.com
4
卸載
httpd
,而且將源碼包解壓
rpm -e httpd httpd-manual webalizersubversion mod_python mod_ssl mod_perl php php-common mysql dovecot –nodeps
tar xzf httpd-2.2.17.tar.gz-C /usr/src/ //
將源碼包解壓到了/usr/src
5
、編譯安裝
apache
[root@wwwhttpd-2.2.17]# ./configure --prefix=/usr/local/httpd--enable-so --enable-rewrite --enable-charset-lite && make &&make install
6
、查看安裝的結果
[root@www ~]#
ls /usr/local/httpd/
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
那麼
httpd
的執行目錄就在
/usr/local/httpd/bin/
這個目錄下,可是這樣我會以爲很冗餘,因此用之前講過的
ln
來鏈接
[root@www httpd]#ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@www ~]#
httpd -v
7
、添加服務,添加服務識別配置
[root@www ~]#
cp/usr/local/httpd/bin/apachectl /etc/init.d/httpd
Vi /et c/init.d/httpd
#chkconfig: 35 8515
#description:httpd start server
[root@www ~]#
chkconfig--add httpd
[root@www ~]#
chkconfig --list httpd
httpd 0:
關閉
1:
關閉
2:
關閉
3:
啓用
4:
關閉
5:
啓用
6:
關閉
[root@www ~]#
chkconfig--level 35 httpd on
8
編輯
httpd
的主配置文件添加域名
Vi /usr/local/httpd/conf/httpd.conf
檢查
httpd
的語法錯誤
[root@www ~]#
/usr/local/httpd/bin/apachectl -t
Syntax OK
9 啓動httpd服務
/etc/init.d/httpdstart
驗證是否開啓服務
[root@www ~]#
netstat -natp | grep httpd
tcp 0 0 :::80 :::* LISTEN 29040/httpd
10 測試時候成功
<ignore_js_op>
(2)編譯安裝mysql1 準備工做: 卸載rpm的mysql-server
[root@www/]# rpm-e mysql-server –nodeps
[root@www /]#useradd -M -u 49 -s /sbin/nologin mysql //建立mysql運行用戶MySQL
從5.5開始改用cmake來編譯源碼代替./configure,
在編譯安裝 MySQL5.5.x 以前,須要最少安裝的包有:
gcc4.4.六、gcc-c++、cmake、ncurses-devel、bison
這時只需你的Linux系統安裝cmake、ncurses-devel、bison,
[root@www ~]# yum install gcc gcc-c++
[root@www ~]#yum install ncurses-devel
首先要先去網上下載一個cmake軟件
1、安裝 cmake --前提軟件。
[root@www~]# tar zxvf cmake-2.8.5.tar.gz -C /usr/src
(解壓)
[root@www ~]# cd cmake-2.8.5
(進入目錄)
[root@www cmake-2.8.5 ]#./configure –prefix=/usr/local/cmaked
(編譯前配置—prefix=制定路徑爲/usr/local/cmaked/)
[root@www cmake-2.8.5 ]# gmake && gmake install
(編譯安裝)
cmake安裝完成
cmake -D<變量>=<值
>
2.
安裝mysql5.5.20
[root@www ~]# tar zxvf mysql-5.5.20.tar.gz -C /usr/src
(解壓)
[root@www ~]# cd mysql-5.5.20
(進入目錄)
[root@www mysql-5.5.20]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysqld-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_SSL=yes -DENABLED_LOCAL_INFILE=1
(編譯前配置)
[root@www mysql-5.5.20]#make && make install
(編譯安裝)
注意:若是提示編譯時錯誤cmake:command not found
輸入一下命令
export PATH=/usr/local/cmake/bin
PATH #PATH=
你的
camke
編譯指定路徑
#這裏編譯cmake的時候沒有指定路徑 若是有路徑就執行上面的命令
3
安裝後調試
創建配置文件,這裏咱們複製已有模板
[root@www mysql-5.5.20]#cp support-files/my-medium.cnf /etc/my.cnf
用
mysql
用戶初始化數據庫
(/usr/local/mysqld/scripts)
4.
初始化數據庫
[root@www ~]#
/usr/local/mysqld/scripts
mysql_install_db --user=mysql
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
#
初始化碰到這個錯誤是由於沒有指定安裝目錄以及存放數據的目錄,
[root@www ~]#./mysql_install_db --user=mysql --basedir=/usr/local/mysqld/--datadir=/usr/local/mysqld/data/
5.修改數據庫文件的屬主
[root@www /]# chown -R root:mysql/usr/local/mysqld/
[root@www/]# chown -R mysql /usr/local/mysqld/data/
6.優化mysql程序目錄的路徑
[root@wwwbin]# ln -s /usr/local/mysqld/bin/* /usr/local/bin/
[root@www bin]# ln -s /usr/local/mysql/lib/* /usr/lib
[root@www bin]# ln-s /usr/local/mysql/include/mysql/* /usr/include/
而後要作的是添加系統服務,這樣就很方便咱們開啓和關閉了
[root@www bin]# cp/usr/src/mysql-5.5.20/support-files/mysql.server /etc/rc.d/init.d/ //將源碼包中的服務啓動腳本複製到自動啓動的路徑下
[root@www bin]#chmod a+x/etc/rc.d/init.d/mysql.server (給執行服務運行權限)
[root@www bin]#chkconfig –add mysql.server (加服務)
如今能夠很方便的開啓和關閉,也能看到mysqld的端口號3306 那麼在默認狀況下咱們能夠用root登陸,沒有密碼
[root@www/]# PATH=$PATH:/usr/bin/ 指定命令搜索的路徑,這樣就能找到mysqladmin的命令了
[root@www/]#mysqladmin –u –p 「htuidc」
<ignore_js_op>
(3)編譯安裝php準備工做和安裝1 首先要卸載php相關的rpm包以避免後期衝突 (沒有的話就不用卸載了-)
rpm -e php php-cliphp-ldap php-common php-mysql –nodeps
安裝 libmcrypt
[root@s2 /usr/src]# cd /usr/src/libmcrypt-2.5.8/
[root@s2 libmcrypt-2.5.8]#./configure
[root@s2 libmcrypt-2.5.8]#make && make install
[root@s2 libmcrypt-2.5.8]#ln -s /usr/local/lib/libmcrypt.* /usr/lib
安裝mhash
[root@www /usr/src]# tar xzf mhash-0.9.9.9.tar.gz-C /usr/src/
[root@www /usr/src]# cd /usr/src/mhash-0.9.9.9/
[root@www mhash-0.9.9.9]#./configure
[root@www mhash-0.9.9.9]#make && make install
[root@www mhash-0.9.9.9]ln-s /usr/local/lib/libmhash* /usr/lib
安裝mcrypt
(經過rpm或者是yum來裝一個libxml2-devel)
Yum –y install libxml2-delvel
rpm –ivh libxml2-delvel
[root@www /usr/src]# tar xzf mcrypt-2.6.8.tar.gz-C /usr/src/
[root@www /usr/src]# cd /usr/src/mcrypt-2.6.8/
[root@www mcrypt-2.6.8]#./configure
[root@www mcrypt-2.6.8]#make && make install
安裝php
[root@www /usr/src]# tar xzf php-5.3.6.tar.gz-C /usr/src/
[root@www /usr/src # cd /usr/src/php-5.3.6/
[
root@wwwphp-5.3.6]#./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs
--with-mysql=/usr/local/mysqld/ --with-config-file-path=/usr/local/php5 --enable-mbstring --prefix:設置php程序的安裝路徑-
-enable-mbstring:設置php支持多字節字符串--with-apxs2:設置apache服務器提供的apxs模塊支持程序的文件路徑位置
--with-configure-file-path:設置php程序的配置文件所在位置
[root@www php-5.3.6]#make && make install
2
、複製
php.ini
配置文件
[root@www /]# cp/usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini
3
優化
zendguardloader
[root@www 1234]#tar xzf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/
[root@www /]# cd/usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[root@wwwphp-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php
拷貝優化模塊到
php
模塊文件夾
而後修改
php.ini
Vi/usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
[root@wwwphp-5.3.x]# vi /usr/local/httpd/conf/httpd.conf
AddTypeapplication/x-httpd-php .php //
這個是要手動添加的
php
功能
<IfModuledir_module>
DirectoryIndex index.html index.php //
添加網頁支持
php
</IfModule>
修改以後注意重啓使之生效
setenforce0
關閉
Selinux
[root@wwwphp-5.3.x]# /etc/init.d/httpd restart
3
、測試
php
運行環境
編譯
php
網頁測試文件
[root@www htdocs]#vi test1.php
<?php
phpinfo();
?>
<ignore_js_op>
(2個測試頁最好手動輸入 )
[root@www htdocs]#vi test2.php
<?php
$link=mysql_connect('localhost','root','htuidc');
if($link)
echo "success";
?>
<ignore_js_op>
<ignore_js_op>node