歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS7下安裝部署LAMP環境

CentOS7下安裝部署LAMP環境

日期:2017/3/3 11:28:28   编辑:Linux技術
(1)配置概要:
1、 172.16.100.31主機運行httpd+php服務(php為模塊工作模式)
配置兩台虛擬主機:wordpress個人博客系統、PHPmyadmin遠程控制mysql
2、172.16.100.31主機運行mariadb服務(mysql)
(2)配置流程:
首先配置172.16.100.31主機:http服務
1、安裝程序:
[root@johnson's linux ~]# yum install httpd php php-mysql php-mbstring
========================================================================================
Package Arch Version Repository Size
========================================================================================
Installing:
httpd x86_64 2.4.6-40.el7.CentOS base 2.7 M
php x86_64 5.4.16-36.el7_1 base 1.4 M
php-mbstring x86_64 5.4.16-36.el7_1 base 503 k
php-mysql x86_64 5.4.16-36.el7_1 base 99 k
Transaction Summary
=======================================================================================
httpd:提供web服務
php:安裝後自動編譯為httpd的模塊,用於處理動態資源php腳本
php-mbstring:此程序包為phpMyAdmin遠程控制mysql所必須的
php-mysql:php驅動mysql的庫文件程序包
2、服務配置
包都安裝完成之後,進入下一步的配置階段:
(1)添加虛擬主機:(基於FQDN)
虛擬主機有三種配置方式:一種是基於不同ip,相同端口(80),二是相同IP不同端口,三是同一IP不同主機名(FQDN),不管何種配置方式,最後解析到的主機只有一台,但是在請求報文首部信息會有不同!以下,僅演示基於FQDN的配置方式
編輯:/etc/httpd/conf.d/vhost1.conf文件
[root@johnson's linux ~]# vim /etc/httpd/conf.d/vhost1.conf
[root@johnson's linux ~]# vim /etc/httpd/conf.d/vhost2.conf
# 添加如下內容,基於FQDN的虛擬主機配置
<VirtualHost 172.16.100.31:80> # 固定語法 <VirtualHost ip:port>可忽略大小寫
ServerName www1.wufeng.com # 很重要,基於FQDN的虛擬主機必須要有主機名
DocumentRoot "/data/vhost/www1" # 虛擬主機根目錄,可指定路徑
CustomLog logs/www1-access_log combined #指定日志文件路徑以及名字
<Directory "/data/vhost/www1"> # 對虛擬主機根目錄的權限設置
Options None
AllowOverride None
require all granted # 目錄的權限設置
</Directory>
</VirtualHost>
<VirtualHost 172.16.100.31:80>
ServerName www2.wufeng.com
DocumentRoot "/data/vhost/www2"
CustomLog logs/www2-access_log combined
<Directory "/data/vhost/www2">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Options:為個目錄的選項,可以指定多個特性
如:Index,啟動資源索引,其作用是在用戶在訪問指定的URL不存在時,返回web資源索引,此選項
非常危險,不建議啟用,否則源碼則會web源碼暴露,後果很嚴重
訪問權限設定:
Require all Granted/deny, Granted表示允許,all表示所有,deny表示拒絕
需要注意的是:CentOS7是默認拒絕所有主機訪問DocumentRoot的資源,所以,配置虛擬主機必須要配置此先參數
(2)為虛擬主機創建配置文件中定義的資源目錄並
[root@johnson's linux ~]# mkdir -pv /data/vhost/www{1,2}
(3)添加測試資源
[root@johnson's linux ~]# vim /data/vhost/www1/index.php
# 前面這段是測試php與mysql連通性的PHP代碼
<?php
$conn = mysql_connect('172.16.100.31','admin','admin'); # ip填寫mysql主機ip
if ($conn) # 用戶為mysql所授權的用戶,密碼空
echo "DATABASE Connet OK";
else
echo "DATABASE Connet Failure";
?>
# 測試php是否正常工作的php代碼
<?php
phpinfo() #此函數調用會顯示php的詳細信息
?>
(4)配置httpd主配置文件
編輯:/etc/httpd/conf/httpd.conf
[root@johnson's linux ~]# vim /etc/httpd/conf/httpd.conf
# 找到 DocumentRoot "/var/www/html" ,#將其注釋掉,一般使用虛擬機都要注釋掉,避免沖突
#DocumentRoot "/var/www/html"
# 添加php主頁索引
DirectoryIndex index.php index.html # 將index.php添加在前頭,這樣就會默認訪問此類資源索引
# 取消服務器名稱注釋
(5)啟動服務,測試是否正常
# 檢測配置文件語法有沒有錯誤
[root@johnson's linux ~]# httpd -t
# 語法無誤啟動服務
[root@johnson's linux ~]# systemctl start httpd.service
打開網頁查看服務是否正常
http服務測試正常,php模塊也能正常工作,但是,mysql的連接是失敗,因為我們還mysql的服務器還沒有配置
(5)獲取wordpress和phpmyadmin
wo是在局域網中ftp服務器中下載的
wordpress配置:
# 下載並解壓至/data/vhost/www1
# cd 到wordpress目錄 ,配置文件如下
[root@johnson's linux wordpress]# ls
index.php wp-blog-header.php wp-cron.php wp-mail.php
license.txt wp-comments-post.php wp-includes wp-settings.php
readme.html wp-links-opml.php wp-signup.php
wp-activate.php wp-config-sample.php wp-load.php wp-trackback.php
wp-admin wp-content wp-login.php xmlrpc.php
# 復制配置文件以上的 wp-config-sample.php 為 wp-config.php
[root@johnson's linux wordpress]# cp wp-config-sample.php wp-config.php
# 編輯配置文件
[root@johnson's linux wordpress]# vim wp-config.php
// ** MySQL 設置 - 具體信息來自您正在使用的主機 ** //
/** WordPress數據庫的名稱 */
define('DB_NAME', 'wpdb'); # 此填寫mysql所要授權數據庫的名字(後面會配置)
/** MySQL數據庫用戶名 */
define('DB_USER', 'wpuser'); # 填寫數據庫的用戶名
/** MySQL數據庫密碼 */
define('DB_PASSWORD', 'wppasswd'); # 填寫數據的密碼
/** MySQL主機 */
define('DB_HOST', '172.16.100.31'); # 填寫mysql主機的ip
/** 創建數據表時默認的文字編碼 */
define('DB_CHARSET', 'utf8');
/** 數據庫整理類型。如不確定請勿更改 */
define('DB_COLLATE', '');
phpmyadmin配置:
phpMyAdmin-4.4.14.1-all-languages.zip# 將包下載並解壓至/data/vhost/www1
# cd 到 文件目錄
# 創建符號連接
[root@johnson's linux htdoc]# ln -s phpMyAdmin-4.4.14.1-all-languages myadmin
[root@johnson's linux htdoc]# ls
index.php phpMyAdmin-4.4.14.1-all-languages
myadmin phpMyAdmin-4.4.14.1-all-languages.zip
#cd 至myadmin 目錄裡面,修改配置文件
[root@johnson's linux htdoc]# cp config.sample.inc.php config.inc.php
#編輯配置文件
[root@johnson's linux htdoc]# vim config.inc.php
$cfg['blowfish_secret'] = 'o71mI9rimj6syc00fT3g'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
#單引號填寫隨機密碼,可使用openssl rand -base64 15(密碼長度)生成
#也可以用md5生成 :r! echo admin | md5sum
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '172.16.100.31'; # 數據庫主機ip
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
--------------------------------------------------------------------------------
172.16.100.31主機配置:mysql服務
(1)yum安裝程序
[root@johnson's linux ~]# yum install mariadb-server
========================================================================================
Installing:
mariadb-server x86_64 1:5.5.44-2.el7.centos base 11 M
Installing for dependencies:
mariadb x86_64 1:5.5.44-2.el7.centos base 8.9 M
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
perl-DBD-MySQL x86_64 4.023-5.el7 base 140 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-IO-Compress noarch 2.061-2.el7 base 260 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
Transaction Summary
========================================================================================
一大推依賴包,只要有yum在且yum源配置沒有問題,可以輕松解決
(2)啟動服務,執行安全安裝操作
[root@johnson's linux ~]# systemctl start mariadb
# 查看監聽端口,3306為mariaDB的默認監聽端口
[root@johnson's linux ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 :::22 :::*
執行安全安裝操作
[root@johnson's linux ~]# mysql_secure_installation
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y # 設置管理員登陸秘密(此密碼和linux系統的root沒關系)
New password:
Re-enter new password: # 輸入密碼即可
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y # 是否移除匿名用戶(在執行安全安裝之前不需要密碼登陸)
... Success! # 允許匿名登陸時很危險的,建議移除
Disallow root login remotely? [Y/n] n # 是否不允許管理員賬號遠程登陸,一般情況下建議不允許
... skipping.
Remove test database and access to it? [Y/n] y # 移除測試數據庫
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y # 重載權限表
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
強烈建議在mariaDB安裝完成後執行安全安裝操作,這樣可以使得數據庫更安全
(3)創建所需數據庫並授權
[root@johnson's linux ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 66
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wpdb; # 創建wordpress的數據庫
Query OK, 1 row affected (0.02 sec)
# 授權wordpress數據庫
# 創建數據名字
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'172.16.%.%' IDENTIFIED BY 'wppass';
然後建立這個數據庫
MariaDB [(none)]> CREATE DATABASE wpdb;
(4)支持所有配置基本完畢:驗證結果
1、驗證數據庫聯通
2、查看wordpress是否正常
最後補充一下:
phpMyadmin常見錯誤:
1.缺少mbstring插件
yum 安裝php-mbstring即可
2.丟失session目錄
一般 在/var/lib/php/session ,沒有則創建即可
本文出自 “11332618” 博客,請務必保留此出處http://11342618.blog.51cto.com/11332618/1826507
Copyright © Linux教程網 All Rights Reserved