什麽是LAMP? 拆開看 L 就是Linux系統 A是Apache的縮寫 M.P則是MySQL和PHP的简写。
其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。
Apache是最常用的WEB服务软件,而MySQL是比较小型的数据库软件,这两个软件以及PHP都可以安装到windows的机器上。
---------------下面開始正題!------------
首先
搭建一個httpd(apache)我們需要準備 apr 及 apr-util
wget ftp://laopaa.cn/apr-1.6.3.tar.bz2
wget ftp://laopaa.cn/apr-util-1.6.1.tar.bz2
wget ftp://laopaa.cn/httpd-2.4.38.tar.bz2
tar jxf apr-1.6.3.tar.bz2
tar jxf apr-util-1.6.1.tar.bz2
tar jxf httpd-2.4.38.tar.bz2
下載好httpd所有的源碼包就開始編譯安裝
cd apr-1.6.3.tar.bz2
./configure --prefix=/usr/local/apr ///配置apr 將安裝路徑設置未/usr/local/apr
make && make install //make編譯源碼包 成功則 安裝
cd apr-util-1.6.1.tar.bz2
這一步如果報錯 原因是因为缺少了一个libexpat1内库包
sudo apt-get install libexpat1-dev
或者進入挂載光盤的地方 如: cd /media/xitong/Packages/
rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm
rpm -ivh apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
rpm -ivh cyrus-sasl-2.1.26-23.el7.x86_64.rpm
rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
rpm -ivh expat-devel-2.1.0-10.el7_3.x86_64.rpm
rpm -ivh libdb-devel-5.3.21-24.el7.x86_64.rpm
rpm -ivh openldap-devel-2.4.44-13.el7.x86_64.rpm
rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm
rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm
rpm -ivh pcre-8.32-17.el7.x86_64.rpm
////////////以上是我總結的所需依賴包
進入正題 安裝apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr //配置apr-util 將安裝路徑設置未/usr/local/apr-util 并指明依賴包apr的路徑
make && make install //編譯且安裝 如進行之前的操作 這一步時不會報錯的
編譯安裝httpd就速戰速決了:
./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make && make install
這樣我們的httpd則編譯安裝好了,安裝路徑未 /usr/local/httpd 存放網頁的路徑未/usr/local/httpd/htdocs 默認有個index.html
安裝好了httpd 但是我們并不能執行 service httpd start 打開或者關閉服務 必須進入/usr/local/httpd/bin 下 輸入 apachectl -k start 打開服務 這樣相當麻煩
如要將httpd加入系統服務 該如何做呢?
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd //將啓動脚本複製到 init.d下面 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在第二排複製加入
#chkconfig: 35 85 21 //將httpd加入chkconfig 守護進程管理 級別未 3 5 圖形化和多用戶
#description: Startup script for the Apache HTTP Server
然後
ln -s /usr/local/httpd/bin/* /usr/local/bin //給/usr/local/httpd/bin下的所有文件創建一個軟連接 到/usr/local/bin
最後
chkconfig --add httpd //將httpd加入 chkconfig
這樣我們就可以直接通過
httpd -v 來檢查版本 并且 httpd -t 來檢查語法是否錯誤 service httpd start 也可以直接啓動服務了 相當方便
如不能訪問到網頁 請自行添加防火墻規則 iptables
-----------Mysql----------------
準備好
mysql-5.5.22.tar
cmake-2.8.12.2.tar
wget ftp://laopaa.cn/cmake-2.8.6.tar.gz
wget ftp://laopaa.cn/mysql-5.5.22.tar.gz
執行安裝依賴包:# yum -y install libtool-ltdl-devel libtool
yum -y install ncurses-devel
tar -zxf cmake-2.8.12.2.tar
tar -zxf mysql-5.5.22.tar
cd cmake-2.8.6 //進入cmake目錄
./configure
gmake && gmake install //編譯mysql 需要使用到cmake 而gcc and g++分别是GNU的c &c++编译器 所以這裏使用到gmake 來編譯cmake
groupadd mysql //創建一個用戶組 mysql 用於管理mysql
mysql -M -s /sbin/nologin mysql -g mysql -G mysql //創建一個mysql程序用戶
接下倆就是安裝mysql
cd mysql-5.5.22
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
make && make install //編譯并且安裝mysql
就在解壓出來的源碼目錄裏
cd mysql-5.5.22
cp support-files/my-medium.cnf /etc/my.cnf 複製配置文件 到 /etc/my.cnf
cp support-files/mysql.server /etc/rc.d/init.d/mysqld 複製啓動脚本到 init.d下
chmod +x /etc/rc.d/init.d/mysql 給予執行權限
chown -R mysql:mysql /usr/local /mysql 將mysql的屬組 和 屬主 設置為 mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ //爲了正常使用MYSQL數據庫系統,應運行用戶mysql的身份執行初始化脚本 mysql_install_db 制定數據存放目錄
export PATH=/usr/local/mysql/bin:$PATH
//爲了方便在任何目錄下使用mysql命令,需要在/etc/profile 設置系統環境變量
source /etc/profile //生效剛剛的export PATH=/usr/local/mysql/bin:$PATH
現在就可以輸入service mysqld start 開啓mysql了
mysql //由於剛剛編譯安裝是沒有設置密碼 的 故此這裏衹需要輸入 myslq 就可以登陸 那麽要修改密碼呢?
use mysql; ///登陸之後 切換環境
set password =password('123456'); //將密碼修改為123456 這裏可以隨意改變 成功會出現大大的OK!
------------PHP----------------
yum -y install zlib-devel xz-devel libxml2 //安裝依賴包
所需源碼包:
libmcrypt
mhash
mcrypt
php
wget ftp://laopaa.cn/libmcrypt-2.5.8.tar.gz wget ftp://laopaa.cn/mcrypt-2.6.8.tar.gz wget ftp://laopaa.cn/php-5.3.28.tar.gz wget ftp://laopaa.cn/mhash-0.9.9.9.tar.gz
下載完畢之後
1,安裝libmcrypt
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib/ //配置編譯安裝,添加軟連接到/usr/lib下
2.安裝mhash
tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure make && make install
ln -s /usr/local/lib/libmhash* /usr/lib/ //配置編譯安裝,添加軟連接到/usr/lib下
3.安裝 mcrypt
tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
./configure
export LD_LIBRARY_PATH=/usr/local/lib //解決configure 的報錯
make && make install
4.安裝php
tar zxf php-5.3.28.tar.gz
cd php-5.3.28/
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring
上面指令中 各選項的含義如下:
--prefix : 制定將php程序安裝到哪個目錄下 如 /usr/local/php5
--with-mcrypt :加載數據加密等擴展工具支持
--with-apxs2 :設置apache httpd server 提供的apxs 模塊支持程序的文件位置
--with-mysql :設置mysql數據庫服務程序的安裝位置
--with-config-file-path :設置php的配置文件 php.ini 將要存放的位置
--enable-mbstring :啓用多字節字符串功能,以便支持中文等代碼
vi /root/php-5.3.28/Zend/zend_language_parser.h //將317行 換成 int zendparse(void *compiler_globals);
然後執行 make && make install
安裝完成后
httpd 默認文件時 index.html 我們可以給他加入一個 index.php
vi /usr/local/httpd/conf/httpd.conf
查找
DirectoryIndex index.html
修改為:
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html
------搭建完畢----------
這樣我們的LAMP環境就搭建完畢了
可以測試一下
service httpd restart //重啓服務
vi /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
php測試成功
下面測試 php 與 mysql的搭配
vi /usr/local/httpd/htdocs/index.php
<?php
$link=mysql_connect('localhost','root','123456'); //root是賬號 123456 是密碼 自行修改
if($link)echo "hello world!"; //成功提醒消息
mysql_close();
?>
成功