centos7部署安裝LAMP

centos7 install LAMP

LAMP四大組件
Linux操作系統:作爲LAMP架構的基礎,提供用於支撐web站點的操作系統能夠與其他三大組件提供更好的穩定性與兼容性。
Apache網站服務器:作爲LAMP的前端,是一款功能強大,穩定性好的web服務器程序。
MySQL數據庫服務器:作爲LAMP的後端,是一款非常流行的,開源的關係型數據庫系統。
PHP/Perl/Python網頁編程語言:作爲三種開發動態網頁的程序語言,負責解析動態網頁文件,並提供web應用程序的開發和運行環境。

LAMP的優勢
成本低廉、可定製性強、易於開發、方便易用、安全和穩定

[root@localhost ~]# ls ##事先準備好相關軟件包
httpd-2.4.25.tar.gz mcrypt-2.6.8.tar.gz php-5.5.38.tar.gz
mhash-0.9.9.9.tar.gz phpMyAdmin-4.7.2-all-languages.tar.gz
cmake-2.8.6.tar.gz libmcrypt-2.5.8.tar.gz mysql-5.6.36.tar.gz zend-loader-php5.5-linux-x86_64_update1.tar.gz

[root@localhost ~]# mount /dev/cdrom /mnt/ ##掛載centos7安裝光盤
[root@localhost ~]# rm -rf /etc/yum.repos.d/*

[root@localhost ~]# vi /etc/yum.repos.d/local.repo ##配置本地yum源
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
:wq

[root@localhost ~]# yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre

解壓httpd源碼包
[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
進入解壓後的路徑
[root@localhost ~]# cd /usr/src/httpd-2.4.25/
配置configure可執行文件
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
編譯
make
編譯安裝
make install
查看安裝路徑文件,確定已安裝成功
ls /usr/local/httpd/
優化執行路徑
ln /usr/local/httpd/bin/* /usr/local/bin
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
查看httpd的版本信息
httpd -v
添加httpd系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
chkconfig: 35 85 21 ##鍵入

chkconfig --add httpd

建立httpd.service配置文件
vim /lib/systemd/system/httpd.service ##建立httpd.service配置文件
[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

設置開機啓動
[root@localhost ~]# systemctl enable httpd.service ##設置開機自啓
[root@localhost ~]# systemctl is-enabled httpd.service

MySQL Install Manual
一、MySQL 的編譯安裝
準備工作
1、查看是否已經安裝過MySQL,如果安裝過建議使用(-e)將其卸載。
[root@localhost ~]# rpm -q mysql-server mysql ##查看是否有安裝過MySQL
[root@localhost ~]# yum -y install ncurses-devel ##安裝ncurses-devel支持包
2、MySQL 5.X 版本需要cmake編譯安裝,所以需要安裝cmake包。
[root@localhost ~]# tar zxf cmake-2.8.6.tar.gz
[root@localhost ~]# cd cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure
[root@localhost cmake-2.8.6]# gmake && gmake install
源碼編譯及安裝
1、創建運行用戶(mysql),此用戶不需要登錄系統,可以不創建宿主目錄。
[root@localhost cmake-2.8.6]# groupadd mysql
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
2、解壓下載好的源碼包,解壓目錄/usr/src
[root@localhost ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mysql-5.6.36/
3、配置mysql、以便支持更多功能
[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

    DCMAKE_INSTALL_PREFIX                   ##指定MySQL安裝到那個路徑下
    DSYSCONFDIR                             ##指定初始化文件目錄
    DDEFAULT_CHARSET                        ##指定默認使用的字符集編碼(如:utf8)
    DDEFALUT_COLLATION                      ##指定默認使用的字符集校對規則,utf8_general_ci是適用於utf-8字符集的通用規則
    DWITH_HXTRA_CHARSETS                    ##指定額外支持的其他字符集編碼
4、編譯安裝
    [root@localhost mysql-5.6.36]# make
    [root@localhost mysql-5.6.36]# make install

安裝後的其他調整
1、對數據庫進行權限設置、屬主:屬組
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
2、建立配置文件,因centos7默認支持mariadb數據庫,所以系統默認的/etc/my.cof配置文件是MariaDB的配置文件、
而在MySQL源目錄中的support-files文件夾下,提供了MySQL數據可的樣本配置文件my-default.cof文件,所以
我們需要拷貝my-default.cof文件到/etc路徑下,並刪除my.cof

    [root@localhost mysql-5.6.36]# rm -rf /etc/my.cof
    [root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
    [root@localhost ~]# vi /etc/my.cnf                                              ##手動指定pid文件

    pid-file=/usr/local/mysql/data/mysql.pid

    :wq

3、初始化數據庫,使用戶mysql可以正常登陸,所以需要運行用戶mysql的身份執行初始化腳本mysql_install_db,指定數據庫存放路徑等。
    [root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

4、設置環境變量,爲了方便在認可目錄下使用mysql命令,需要在/etc/profile設置環境變量
    [root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
    [root@localhost ~]# source /etc/profile

5、添加系統服務
    [root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
    [root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
    [root@localhost ~]# vi /usr/lib/systemd/system/mysqld.service

    [Unit]
    Description=MySQL Server
    After=network.target

    [Service]
    User=mysql
    Group=mysql

    Type=forking
    PIDFile=                                                ##PID文件爲空
    ExecStart=/usr/local/mysql/bin/mysqld.sh start
    ExecStop=/usr/local/mysql/bin/mysqld.sh stop

    [Install]
    WantedBy=multi-user.target

    :wq

    [root@localhost ~]# systemctl start mysqld              ##啓動MySQL
    [root@localhost ~]# systemctl enable mysqld             ##設置爲開機啓動
    [root@localhost ~]# systemctl status mysqld             ##查看啓動狀態
    [root@localhost ~]# netstat -anpt | grep mysqld         ##過濾mysql端口狀態

二、訪問MySQL數據庫
1、登陸MySQL服務器:默認用戶爲root 密碼爲空
1)無密碼登陸
[root@localhost ~]# mysql -u root ##“-u”選項用於指定認證用戶
2)有密碼登陸
[root@localhost ~]# mysql -u root -p ##“-p”選項來進行密碼校驗
3)設置登錄mysql的root用戶密碼
[root@localhost ~]# mysqladmin -u root password 123123
2、執行MySQL操作語句
mysql> STATUS; ##"STATUS;"語句可以查看當前數據庫的基本狀態
3、退出mysql操作環境
mysql> exit ##退出可以使用"exit"或"quit"命令退出mysql編輯器

安裝PHP服務
根據實際情況可卸載PHP相關軟件依賴,另外需要安裝zlib-devel xz-devel libxml2-devel包
[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
錯誤:未安裝軟件包 php
錯誤:未安裝軟件包 php-cli
錯誤:未安裝軟件包 php-ldap
錯誤:未安裝軟件包 php-common
錯誤:未安裝軟件包 php-mysql
[root@localhost ~]# yum -y install zlib-devel xz-devel libxml2-devel
yum -y install libxml2-devel

    安裝擴展工具;在實際應用中,一部分基於PHP開發的web應用系統會需要額外的擴展工具,如數據加密
                  工具,libmcrypt,mhash,mcrypt等(可以從站點http://sourceforge.net下載)。安
                  裝PHP軟件包之前應該先安裝好這些工具。
    1)安裝libmcrypt
    [root@localhost ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
    [root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/
    [root@localhost libmcrypt-2.5.8]# ./configure
    [root@localhost libmcrypt-2.5.8]# make && make install
    [root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
    2)安裝mhash
    [root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
    [root@localhost ~]# cd /usr/src/mhash-0.9.9.9/
    [root@localhost mhash-0.9.9.9]# ./configure
    [root@localhost mhash-0.9.9.9]# make && make install
    [root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
    3)安裝mcrypt
    [root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
    [root@localhost ~]# cd /usr/src/mcrypt-2.6.8/
    [root@localhost mcrypt-2.6.8]# ./configure
    [root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib                ##解決上一條./configure配置報錯問題
    [root@localhost mcrypt-2.6.8]# ./configure
    [root@localhost mcrypt-2.6.8]# make && make install

編譯安裝PHP
    1)解包
    [root@localhost ~]# tar zxf php-5.5.38.tar.gz -C /usr/src/                          ##解壓縮PHP源碼包
    [root@localhost src]# cd /usr/src/php-5.5.38/
    2)配置:在定製PHP的配置選項時,最關鍵的就是制定httpd,mysqld的安裝路徑,以便添加相關支出路徑,
    使LAMP各個組件協同工作。除此之外,還可以制定安裝路徑,啓用多字節支持,加密擴展支持等。
    ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring

    --prefix:制定將PHP程序安裝到哪個目錄下(/usr/local/php5)
    --with-mcrypt:加載數據加密等擴展支持功能
    --with-apxs2:設置Apache HTTP Server提供的apxs模塊支持程序的文件位置
    --with-mysql:設置MySQL數據庫服務程序的安裝位置
    --with-mysqli:添加mysqli擴展支持
    --with-config-file-path:設置PHP的配置文件php.ini將要存放的位置
    --enable-mdstring:啓用多字節字符串功能,以便支持中文等代碼
    3)編譯及安裝:編譯過程極慢,若期間未出現錯誤,接下來就可以對LAMP組件進行適當的配置,並驗證是否能夠協同工作。
    [root@localhost php-5.5.38]# make && make install

設置LAPM組鍵環境
1、php.ini配置調整
1)php.ini的建立及基本設置;安裝好後PHP,服務器並不會自定創建php.ini配置文件,但在源碼目錄下提供了兩個樣例
配置文件,分別對應開發環境,生產環境。
/usr/src/php-5.5.38/php.ini-development ##開發版樣例環境,用於學習測試
/usr/src/php-5.5.38/php.ini-production ##生產版樣例環境,用於實際運營
選擇其中一個樣例文件,複製到PHP配置文件目錄、/usr/local/php5下,並改名爲php.ini,文件中以分號開頭的內容爲註釋信息
[root@localhost ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@localhost ~]# grep -v "^;" /usr/local/php5/php.ini |grep -v "^$"
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
......
通過修改php.ini文件中的配置內容,可以控制PHP網頁的直行特性,如是否允許用戶上傳文件,設置上傳文件的大小限制,設置
默認使用的字符集,加載額外的擴展模塊等。如沒有特殊要求,可以直接使用默認配置,不做任何修改。
[root@localhost ~]# vi /usr/local/php5/php.ini

    ......  //省略部分內容
    default_charset = "utf-8"                           ##設置默認字符集爲utf-8 
    file_uploads = On                                   ##允許通過PHP網頁上傳文件
    upload_max_filesize = 2M                            ##允許上傳的文件大小限制
    max_file_uploads = 20                               ##每個HTTP請求最多允許上傳的文件數
    post_max_size = 8M                                  ##每次通過表單POST提交的數據量限制
    short_open_tag = On                                 ##允許識別PHP短語法標記,即<?...?>
    extension=php_mysqli.dll                            ##添加mysql支持
    2)添加ZendGuardLoader優化模塊
    爲了進一步提高程序的執行效率,優化頁面加載速度,可以爲PHP添加Zend公司開發的ZendGuardLoade”優化模塊。若需要加密PHP代碼以限
    制未經授權的分發,還可以購買該公司的ZendGuard軟件。該模塊可以在zend公司官網http://www.zend.com下載。

    將下載好的ZendGuardLoade包解壓縮,並將源碼目錄下的模塊文件複製到PHP程序的模塊文件夾
    [root@localhost ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
    [root@localhost ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
    [root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php

    修改php.ini配置文件,添加加載及啓用ZendGuardLoade.os模塊的配置語句
    [root@localhost ~]# vi /usr/local/php5/php.ini
    zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
    zend_loader.enable=1
2、httpd.conf配置調整
    要讓httpd服務器支持PHP頁面解析功能,需通過LoadModule配置項加載程序的模塊文件,並通過AddType配置項添加對”.php",類型網頁文
    件的支持,除此以外還應修改Directoryindex配置行,添加inaex.php項,以識別常見的PHP首頁文件。
    [root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
    LoadModule php5_module   modules/libphp5.so                             ##1——4行配置文件默認已經存在,所以只需要添加最後一行就可以了
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
    AddType application/x-httpd-php .php
    上述內容中,LoadModule行在安裝PHP過程中已經自定添加,其中php5_module表示爲模塊名稱,modules/libphp5.so表示爲模塊文件位置
    AddType行需要手動添加、DirectoryIndex行在原有的基礎上對其進行修改就可以了。

測試LAMP協同工作
1、測試PHP網頁是否能正常工作
測試apache是否支持php,在/usr/local/httpd/htdocs下邊創建以下文件
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo( ); ##此函數可顯示PHP服務器的環境信息
?>

    然後在客戶端訪問,http://服務器IP地址/index.php   即可訪問成功

    測試php能否成功連接mysql,切記修改mysql的密碼
    vim /usr/local/httpd/htdocs/index2.php
    <?php
        $link=mysqli_connect('localhost','root','123123');                      ##連接MySQL數據庫
        if($link) echo "恭喜你,數據庫連接成功啦!!";                                ##連接成功時的反饋消息
        mysqli_close($link);                                                        ##關閉數據庫連接
    ?>

    然後在客戶端訪問,http://服務器IP地址/index2.php   即可訪問成功

部署phpMyAdmin系統
phpMyAdmin是一個使用PHP語言編寫,用來管理MySQL數據庫的Web應用系統。通過該套件提供的網頁界面,
即便是對SQL語句不太熟悉的人,也能夠非常容易地對MySQL數據庫進行管理和維護。
phpMyAdmin的源碼包可以從其官方站點http://www.phpadmin.net中下載。下面以多國語言版源碼包
phpMyAdmin-4.7.2-all-languages.tar.gz爲例介紹ppMyAdmin套件的部署過程。

    1.解包,並複製到網站目錄
    [root@localhost ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz
    [root@localhost ~]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin
    2、建立配置文件config.inc.php
    [root@localhost ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
    [root@localhost phpMyAdmin]# cp config.sample.inc.php config.inc.php

    3.訪問phpMyAdmin的Web管理界面然後在客戶端訪問,http://服務器IP地址/phpMyAdmin   即可訪問成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章