標籤:
說明:
作業系統:CentOS 6.8 32位
準備篇:
一、系統約定
軟體原始碼包存放位置:/usr/local/src
源碼包編譯安裝位置:/usr/local/軟體名字
二、下載軟體包
httpd2.2.31.tar.gz
MySQL5.6.31.tar.gz
PHP5.3.27.tar.gz
三、安裝編譯工具及庫檔案(使用CentOS yum命令安裝)
yum install –y make gcc gcc-c++ zlib-devel pcre pcre-devel apr apr-devel libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel
安裝篇
安裝mysql
useradd -r mysql -s /bin/nologin #建立系統使用者mysql及使用者組mysql
mkdir -p /data/mysql #建立MySQL資料庫存放目錄
mkdir -p /usr/local/mysql #建立MySQL安裝目錄
chown -R mysql:mysql /data/mysql /usr/local/mysql #設定MySQL資料及安裝目錄許可權
cd /usr/local/src
tar zxvf mysql-5.6.31.tar.gz #解壓
cd mysql-5.6.31
#配置編譯參數
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
make && make install #編譯+安裝
cd /usr/local/mysql
cp ./support-files/my-default.cnf /etc/my.cnf #拷貝設定檔(注意:如果/etc目錄下面預設有一個my.cnf,直接覆蓋即可)
vi /etc/my.cnf #編輯設定檔,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL資料庫路徑
./scripts/mysql_install_db --user=mysql #產生mysql系統資料庫
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系統啟動
chmod 755 /etc/init.d/mysqld #增加執行許可權
chkconfig mysqld on #加入開機啟動
vi /etc/rc.d/init.d/mysqld #編輯
basedir = /usr/local/mysql #MySQL程式安裝路徑
datadir = /data/mysql #MySQl資料庫存放目錄
service mysqld start #啟動
vi /etc/profile #把mysql服務加入系統內容變數:在最後添加下面這一行
export PATH=$PATH:/usr/local/mysql/bin
下面這兩行把myslq的庫檔案連結到系統預設的位置,這樣你在編譯類似PHP等軟體時可以不用指定mysql的庫檔案地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #重啟系統,等待系統重新啟動之後繼續在終端命令列下面操作
mysql_secure_installation #設定Mysql密碼
根據提示按Y 斷行符號輸入2次密碼
或者直接修改密碼/usr/local/mysql/bin/mysqladmin -u root -p password"123456"
service mysqld restart #重啟
到此,mysql安裝完成!
安裝 apache
cd /usr/local/src
tar zxvf httpd2.2.31.tar.gz #解壓
cd httpd2.2.31
#配置編譯參數
./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
--prefix 指定安裝到哪裡, --enable-so 表示啟用DSO --enable-deflate=shared 表示共用的方式編譯deflate
出現了這樣的錯誤:
error: mod_deflate has been requested but can not be built due to prerequisite failures
解決辦法是:
yum install -y zlib-devel
為了避免在make的時候出現錯誤,所以最好是提前先安裝好一些庫檔案:
yum install -y pcre pcre-devel apr apr-devel
make && make install #編譯+安裝
apache安裝完成!
安裝 php
cd /usr/local/src
tar zxvf php5.3.27.tar.gz #解壓
cd php5.3.27.tar.gz
#配置編譯參數
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6
遇到如下錯誤:
configure: error: xml2-config not found. Please check your libxml2 installation.
解決辦法是:
yum install -y libxml2-devel
還有錯誤:
configure: error: Cannot find OpenSSL‘s <evp.h>
解決辦法是:
yum install -y openssl openssl-devel
錯誤:
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
解決辦法:
yum install -y bzip2 bzip2-devel
錯誤:
configure: error: png.h not found.
解決辦法:
yum install -y libpng libpng-devel
錯誤:
configure: error: freetype.h not found.
解決辦法:
yum install -y freetype freetype-devel
錯誤:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解決辦法:
yum install –y epel-release
yum install -y libmcrypt-devel
make && make install #編譯+安裝
拷貝設定檔:
cp php.ini-production /usr/local/php/etc/php.ini
apache結合php
Apache主設定檔為:/usr/local/apache2/conf/httpd.conf
vim /usr/local/apache2/conf/httpd.conf
找到:
AddType application/x-gzip .gz .tgz
在該行下面添加:
AddType application/x-httpd-php .php
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
將該行改為:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改為:
ServerName localhost:80
測試LAMP是否成功:
啟動apache之前先檢驗設定檔是否正確:
/usr/local/apache2/bin/apachectl -t
如果有錯誤,請繼續修改httpd.conf, 如果是正確的則顯示為 “Syntax OK”,
啟動apache的命令為:
/usr/local/apache2/bin/apachectl start
查看是否啟動:
[[email protected] ~]# netstat -lnp |grep httpd
tcp 0 0 :::80 :::* LISTEN 7667/httpd
如果有顯示這行,則啟動了。 也可以使用curl命令簡單測試:
[[email protected] ~]# curl localhost
<html><body><h1>It works!</h1></body></html>
只有顯示這樣才正確。
測試是否正確解析php:
vim /usr/local/apache2/htdocs/1.php
寫入:
<?php
echo "php解析正常";
?>
儲存後,繼續測試:
curl localhost/1.php
看是否能看到如下資訊:
[[email protected] ~]# curl localhost/1.php
php解析正常
只有顯示這樣才正確
到此,LAMP基本運行環境搭建完成!
CentOS 6.8編譯安裝httpd2.2.31+MySQL5.6.31+PHP5.3.27