源碼編譯安裝LAMP
Apache
網站服務
MySQL
服務
LAMP
構架應用實例
Apache起源
- 源於
A Patchy Server,
著名的開源Web
服務軟件 1995
年時,發佈Apache
服務程序的1 .0
版本- 由
Apache
軟件基金會(ASF
) 負責維護 - 最新的名稱爲"
Apache HTTP Server
" - 官方站點:
htp://ttpd.apache.org/
主要特點
- 開放源代碼、跨平臺應用
- 支持多種網頁編程語言
- 模塊化設計、運行穩定、良好的安全性
軟件版本
-
1.X
- 目前最高版本是
1.3
,運行穩定 - 向下兼容性較好,但缺乏-些較新的功能
- 目前最高版本是
2.X
- 目前最高版本是
2.4
- 具有更多的功能特性
- 與
1.X
相比,配置管理風格存在較大差異
- 目前最高版本是
編譯安裝httpd服務器
編譯安裝的優點
- 具有較大的自由度,功能可定製
- 可及時獲得最新的軟件版本
- 普遍適用於大多數Linux版本,便於移植使用
獲得Apache服務器的源碼包
- 參考地址:
htp://httpd.apache.org/download.cgi
準備工作
-
下載源碼包
- 卸載httpd及相關依賴包
[root@www ~ ]# rpm -e httpd --nodeps //--nodeps忽略軟件包依賴性
源碼編譯及安裝
- 將下載的源碼包放入Linux系統中mnt目錄下
cd /mnt //進入mnt目錄
tar zxvf /mnt/apr-1.6.2.tar.gz -C /opt/ //解壓源碼包到opt目錄
tar zxvf /mnt/apr-util-1.6.0.tar.gz -C /opt/
tar jxvf /mnt/httpd-2.4.29.tar.bz2 -C /opt/
mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr //將解壓的環境包移動到httpd軟件包目錄下
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util
yum install \ //安裝源碼環境包
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl -y
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
make
make install
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
#!/bin/bash
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server
...//省略部分內容...
:wq
chkconfig --add httpd //將httpd加入到SERVICE管理器
sed -i "51s/#Listen 12.34.56.78:80/Listen “本機IP地址”:80/" /usr/local/httpd/conf/httpd.conf
sed -i '52s/^/#/' /usr/local/httpd/conf/httpd.conf
sed -i '197s/#ServerName www.example.com:80/ServerName www.example.com:80/' /usr/local/httpd/conf/httpd.conf
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
systemctl stop firewalld.service
setenforce 0
service httpd start
驗證安裝
- 在宿主機中打開瀏覽器,輸入IP地址,驗證httpd服務是否正常安裝
MySQL的編譯安裝
準備工作
-
下載源碼包
- 源碼編譯及安裝
- 將下載的源碼包放入Linux系統中mnt目錄下
cd /mnt
tar zxvf /mnt/mysql-5.6.26.tar.gz -C /opt
yum install -y ncurses-devel autoconf cmake
cd /opt/mysql-5.6.26/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
make
make install
rm -rf /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
cd /etc/init.d/
chmod +x mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 35 mysqld on
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
sed -i '46s/basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld
sed -i '47s/datadir=/datadir=\/home\/mysql/' /etc/init.d/mysqld
service mysqld start
netstat -anpt | grep 3306
mysqladmin -u root password 123123 //給root賬號設置密碼
安裝PHP軟件包
準備工作
-
下載源碼包
- 源碼編譯及安裝
- 將下載的源碼包放入Linux系統中mnt目錄下
cd /mnt/
tar jxvf php-5.6.11.tar.bz2 -C /opt/
yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
cd /opt/php-5.6.11/
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
make
make install
cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
sed --follow-symlink -i '256s/DirectoryIndex index.html/ DirectoryIndex index.html index.php/' /etc/httpd.conf
sed --follow-symlink -i '393a AddType application/x-httpd-php .php\n AddType application/x-httpd-php-source .phps' /etc/httpd.conf
echo -e "<?php\nphpinfo();\n?>" > /usr/local/httpd/htdocs/index.html
mv /usr/local/httpd/htdocs/index.html /usr/local/httpd/htdocs/index.php
service httpd stop
service httpd start
驗證安裝
- 在宿主機中打開瀏覽器,輸入IP地址,驗證網頁是否顯示剛編輯的網頁內容,以測試PHP軟件是否安裝
- PHP軟件成功安裝,LAMP架構成功搭建