1. 程式人生 > >Linux精華篇—CentOS 7.4下源碼編譯構建LAMP架構

Linux精華篇—CentOS 7.4下源碼編譯構建LAMP架構

CentOS7.4源碼編譯構建LAMP

CentOS 7.4搭建LAMP
LAMP:Linux、Apache、mysql、php

目錄:
第一部分 準備工作
第二部分 安裝Apache服務
第三部分 安裝MySQL服務
第四部分 搭建PHP運行環境
第五部分 LAMP架構應用

第一部分 準備工作
一:服務器:Linux系統—CentOS 7.4;
IP地址:192.168.80.10
技術分享圖片
客戶端:以WIN7為例,測試驗證結果,與服務器在同一網段;
IP地址:192.168.80.2

二:下載壓縮包
http://httpd.apache.org/download.cgi //http壓縮包
http://apr.apache.org/download.cgi //http插件包

http://mirrors.sohu.com/mysql/ //mysql壓縮包
http://www.php.net/downloads.php //PHP壓縮包
https://www.phpmyadmin.net/ //PHPMyAdmin壓縮包
技術分享圖片
//apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以後的版本所需要的插件,必須安裝
//phpMyAdmin是一個使用PHP語言編寫,用來管理MySQL數據庫的Web應用系統,後面LAMP搭建完成後用來驗證。

//將壓縮包放到linux系統下
技術分享圖片

三:將防火墻與selinux關閉
技術分享圖片

第二部分 安裝Apache服務

一:安裝編譯工具與插件
[root@localhost ~]# yum -y install \

gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

二:解壓:
[root@localhost ~]# tar xf apr-1.6.2.tar.gz
[root@localhost ~]# tar xf apr-util-1.6.0.tar.gz
[root@localhost ~]# tar xf httpd-2.4.29.tar.bz2
技術分享圖片
//將插件放入httpd目錄下
[root@localhost ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr

[root@localhost ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

三:配置(自定義個性化配置)
[root@localhost ~]# cd httpd-2.4.29 //必須進入安裝目錄下
[root@localhost httpd-2.4.29]# ./configure \

--prefix=/usr/local/httpd \ //指定將httpd程序安裝到/usr/local/httpd目錄下
--enable-so \ //啟用動態加載模塊功能
--enable-rewrite \ //啟用網頁地址重寫功能,用於網站優化及目錄遷移
--enable-charset-lite \ //啟用字符集支持,以便支持使用各種字符集編碼的網頁
--enable-cgi //啟用CGI腳本程序支持,便於擴展網站的應用訪問能力

四:編譯及安裝
[root@localhost httpd-2.4.29]# make && make install

//將httpd服務添加到系統服務
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]# vi /etc/init.d/httpd
添加以下兩行(註意,“#”不能省略):
技術分享圖片
保存退出
[root@localhost httpd-2.4.29]# chkconfig --add httpd //將httpd加入到SERVICE管理器
[root@localhost httpd-2.4.29]# systemctl daemon-reload //重載系統系統管理器

五:編輯httpd主配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
修改以下內容:
ServerName www.aa.com
保存退出
技術分享圖片

//優化執行路徑(執行程序文件的原路徑不在PATH環境變量中,做個軟鏈接使其可以執行)
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//檢查語法錯誤
[root@localhost httpd-2.4.29]# httpd –t
或者:[root@localhost httpd-2.4.29]# apachectl –t
技術分享圖片
//查看程序版本
技術分享圖片

六:啟動服務
[root@localhost httpd-2.4.29]# systemctl start httpd
[root@localhost httpd-2.4.29]# systemctl enable httpd //將httpd設為開機啟動
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80 //查看httpd服務運行狀態
技術分享圖片

七:驗證
用WIN7客戶端訪問服務器
瀏覽器訪問:http://192.168.80.10
技術分享圖片
驗證成功
(註意,網頁默認顯示內容為:/usr/local/httpd/htdocs/index.html)
技術分享圖片

第三部分 安裝MySQL服務
一:安裝編譯工具與插件
[root@localhost ~]# yum -y install \

ncurses \
ncurses-devel \
bison \
cmake

二:建立數據庫程序用戶
[root@localhost ~]# useradd -s /sbin/nologin mysql

三:解壓mysql安裝包
[root@localhost ~]# tar xf mysql-boost-5.7.20.tar.gz -C /opt/
技術分享圖片

四:配置(個性化配置及優化項目)
[root@localhost ~]# cd /opt/mysql-5.7.20/
[root@localhost mysql-5.7.20]# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //定義安裝目錄
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //連接數據庫socket路徑
-DSYSCONFDIR=/etc \ //指定初始化參數文件目錄(my.cnf)
-DSYSTEMD_PID_DIR=/usr/local/mysql \ //數據庫目錄
-DDEFAULT_CHARSET=utf8 \ //指定默認使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默認使用的字符集校對規則,utf8_general_ci是適用於UTF-8字符集的通用規則
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //安裝支持數據庫分區
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
(註意:如果在CMAKE的過程中有報錯,當報錯解決後,需要把源碼目錄中的
CMakeCache.txt文件刪除,然後再重新CMAKE,否則錯誤依舊)

五:編譯及安裝
[root@localhost mysql-5.7.20]# make
[root@localhost mysql-5.7.20]# make install

//對數據庫目錄進行權限設置
[root@localhost mysql-5.7.20]# chown -R mysql.mysql /usr/local/mysql/

六:編輯mysql主配置文件
[root@localhost mysql-5.7.20]# vi /etc/my.cnf
(裏面內容全部刪除,替換成以下內容)
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

六:設置環境變量
[root@localhost mysql-5.7.20]# echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
//把這兩個路徑添加到環境變量中,並放到profile文件中使之開機自運行,否則不生效
[root@localhost mysql-5.7.20]# echo ‘export PATH‘ >> /etc/profile
//設為全局變量,使它使用環境更廣
[root@localhost mysql-5.7.20]# source /etc/profile //立即生效

七:初始化數據庫
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \

--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

八:添加系統服務
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost mysql]# systemctl daemon-reload

九:開啟mysql服務
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# netstat -anpt | grep 3306 //查看服務運行狀態
技術分享圖片
[root@localhost mysql]# systemctl enable mysqld //設為開機啟動

十:訪問數據庫操作
[root@localhost mysql]# mysqladmin -u root -p password "abc123"
//給root賬號設置密碼為abc123
註意:提示輸入的是原始密碼(原始沒有密碼,直接回車)
[root@localhost mysql]# mysql -u root –p //登錄數據庫
註意:有密碼的加“-p”,如果沒有密碼不用加“-p”
技術分享圖片
技術分享圖片
//數據庫安裝配置成功,退出則輸入”quit“

第四部分 搭建PHP運行環境
一:安裝編工具及插件
[root@localhost ~]# yum -y install \

libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
(註意:如果安裝過程出錯,修改下面文件,添加一行)
vi /usr/local/httpd/bin/apxs
#!/usr/bin/perl –w

二:解壓安裝包
[root@localhost ~]# tar xjvf php-7.1.10.tar.bz2

三:配置(個性化配置及優化項目)
[root@localhost php-7.1.10]# cd php-7.1.10
[root@localhost php-7.1.10]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

四:編譯與安裝
[root@localhost php-7.1.10]# make
[root@localhost php-7.1.10]# make install

五:編輯配置文件
[root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
//創建配置文件
[root@localhost php-7.1.10]# vi /usr/local/php/lib/php.ini //編輯配置文件
mysqli.default_socket = /usr/local/mysql/mysql.sock //將php與mysql關聯
date.timezone = Asia/Shanghai //時區設置
[root@localhost php-7.1.10]# /usr/local/php/bin/php –m //驗證安裝的模塊

六:關聯php與apache服務
[root@localhost php-7.1.10]# vi /etc/httpd.conf //編輯Apache配置文件,使httpd支持php網頁解析
添加以下兩行內容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改以下內容:
DirectoryIndex index.php index.html //此處註意,php文件必須放前面,優先讀取
[root@localhost php-7.1.10]# rm -f /usr/local/httpd/htdocs/index.html //刪除默認html文件
[root@localhost php-7.1.10]# vi /usr/local/httpd/htdocs/index.php //編輯php測試網頁
添加以下內容(php信息)
<?php
phpinfo();
?>
保存退出
[root@localhost php-7.1.10]# systemctl stop httpd
[root@localhost php-7.1.10]# systemctl start httpd //重啟httpd服務

七:驗證

  1. 用win7訪問192.168.80.10
    (註意:如果訪問不了,用netstat檢查httpd運行狀態)
    技術分享圖片

  2. 測試數據庫
    [root@localhost ~]# mysql -u root –p //登錄數據庫(輸入上面設置的root密碼)
    CREATE DATABASE myadm; //創建數據庫myadm
    GRANT all ON myadm. TO ‘myadm‘@‘%‘ IDENTIFIED BY ‘admin123‘; //授權
    GRANT all ON myadm.
    TO ‘myadm‘@‘localhost‘ IDENTIFIED BY ‘admin123‘;
    flush privileges; //刷新權限
    技術分享圖片
    //重啟mysql服務
    [root@localhost ~]# systemctl restart mysqld

//編輯index.php文件(將裏面原來內容刪除,添加以下內容)
<?php
$link=mysqli_connect(‘192.168.80.40‘,‘myadm‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

//重啟http服務
[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# systemctl start httpd

//用win7訪問服務器地址192.168.80.10
技術分享圖片
//驗證成功

第五部分 LAMP架構應用
部署phpMyAdmin系統:
phpMyAdmin是一個使用PHP語言編寫,用來管理MYSQL數據庫的Web應用系統
一:安裝phpMyadmin
[root@localhost ~]# yum install -y unzip
(由於我下載的phpMyadmin是zip格式壓縮包,所以要安裝unzip命令解壓)
//解壓phpMyadmin
[root@localhost ~]# unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/
[root@localhost ~]# cd /opt/
[root@localhost opt]# mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm //將文件移到apache目錄下

二:創建phpMyadmin配置文件
[root@localhost opt]# cd /usr/local/httpd/htdocs/myadm/
[root@localhost myadm]# cp config.sample.inc.php config.inc.php

三:編輯配置文件
[root@localhost myadm]# vi config.inc.php
$cfg[‘Servers‘][$i][‘host‘] = ‘127.0.0.1‘; //把localhost 改成IP
保存退出

四:重啟apache服務
[root@localhost myadm]# systemctl stop httpd
[root@localhost myadm]# systemctl start httpd

五:驗證
用win7訪問http://192.168.80.10/myadm
技術分享圖片
輸入root帳號與密碼登錄
技術分享圖片
驗證成功

Linux精華篇—CentOS 7.4下源碼編譯構建LAMP架構