kjfhgds 发表于 2016-7-19 09:01:22

基于RPM包的LAMP搭建

    1.   配置概要:

    a)      172.16.20.10主机运行httpd+php服务(php为模块工作模式)

    b)      配置两台虚拟主机:wordpress个人博客系统,PHPmyadmin远程控制mysql

    c)      172.16.20.11主机运行mariadb服务(mysql)

    2.   配置流程:

    a)      首先配置172.16.20.10主机:http服务

                i.         安装程序

    1.      #yum install httpd php php-mysql php-mbstring

    2.      Httpd提供web服务

    3.      Php 安装后自动编译为httpd的模块,用于处理动态资源php脚本

    4.      Php-mbstring:此程序包为phpMyAdmin远程控制mysql所必须的

    5.      Php-mysql:php驱动mysql的库文件程序包

    b)      Rpm包安装完成之后,进入下一步的配置阶段:

                i.         添加虚拟主机(基于FQDN)

    1.      # Vim /etc/httpd/conf.d/vhost.conf文件

添加如下内容,基于FQDN的虚拟主机配置

<VirtualHost172.18.20.10:80># 固定语法 <VirtualHost ip:port>可忽略大小写   

ServerName # 很重要,基于FQDN的虚拟主机必须要有主机名      

DocumentRoot"/www/host/htdoc" # 虚拟主机根目录,可指定路径

<Directory"/www/host/htdoc"># 对虚拟主机根目录的权限设置   

OptionsFollowSymLinks    # FollowSymLinks表示可以访问符号连接资源   

require allGranted    # 目录的权限设置

</Directory>               

</VirtualHost>



<VirtualHost172.18.20.10:80>   

ServerNamewww.myadmin.com   

DocumentRoot"/www/host2/htdoc"

<Directory"/www/host2/htdoc">   

OptionsFollowSymLinks   

require allGranted

</Directory>

</VirtualHost>

    c)      为虚拟主机创建配置文件中定义的资源目录

                i.         # mkdir/www/{host,host2}/htdoc

    d)      添加测试资源

                i.         # vim /www/host/htdoc/index.php

<?php   

$conn =mysql_connect('172.18.17.8','admin','admin'); # ip填写mysql主机ip   

if($conn)      # 用户为mysql所授权的用户,密码空         

echo "DATABASEConnet OK";   

else      

echo"DATABASE Connet Failure";

?>

# 测试php是否正常工作的php代码

<?php   

phpinfo();                      #此函数调用会显示php的详细信息

?>

    e)      配自豪httpd主配置文件

#vim /etc/httpd/conf/httpd.conf

# 找到DocumentRoot"/var/www/html"                     #将其注释掉,一般使用虚拟机都要注释掉,避免冲突#DocumentRoot "/var/www/html"

# 添加php主页索引

DirectoryIndexindex.php index.html # 将index.php添加在前头,这样就会默认访问此类资源索引   

# 取消服务器名称注释

    f)      启动服务,测试是否正常

# 检测配置文件语法有没有错误

# httpd -t# 语法无误启动服务

# systemctl starthttpd.service打开网页查看服务是否正常

spacer.gif

http服务测试正常,php模块也能正常工作,但是,如你所见,mysql的连接是失败,因为我们还mysql的服务器还没有配置

    g)      获取wordpress和phpmyadmin

wordpress配置:

# 下载并解压至/www/host/htdoc

#cd 到wordpress目录

#复制配置文件wp-config-sample.php为wp-config.php

#cpwp-config-sample.phpwp-config.php

#编辑配置文件

#vimwp-config.php

define('DB_NAME','wpdb');# 此填写mysql所要授权数据库的名字(后面会配置)   

/**MySQL数据库用户名 */   

define('DB_USER','wpuser'); # 填写数据库的用户名   

/**MySQL数据库密码 */

define('DB_PASSWORD','wppasswd'); # 填写数据的密码   

/**MySQL主机 */

define('DB_HOST','172.18.17.8'); # 填写mysql主机的ip   

/**创建数据表时默认的文字编码 */

define('DB_CHARSET','utf8');   

/**数据库整理类型。如不确定请勿更改 */

define('DB_COLLATE','');

phpmyadmin配置:

# 将包下载并解压至/www/host2/htdoc

#cd 到 文件目录

# 创建符号连接

#ln -s phpMyAdmin-4.4.14.1-all-languages myadmin

#ls

index.php phpMyAdmin-4.4.14.1-all-languages

myadmin   phpMyAdmin-4.4.14.1-all-languages.zip

#cd至myadmin 目录里面,修改配置文件

#cp config.sample.inc.php config.inc.php

#编辑配置文件

#vim config.inc.php

$cfg['blowfish_secret']= 'o71mI9rimj6syc00fT3g'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */               

#单引号填写随机密码,可使用openssl rand -base64 15(密码长度)生成

/*   

*Servers configuration   

*/$i = 0;   

/*   * First server   

*/

$i++;

/*Authentication type */

$cfg['Servers'][$i]['auth_type']= 'cookie';

/*Server parameters */

$cfg['Servers'][$i]['host']= '172.18.17.8';# 数据库主机ip

$cfg['Servers'][$i]['connect_type']= 'tcp';

$cfg['Servers'][$i]['compress']= false;

$cfg['Servers'][$i]['AllowNoPassword']= false;

    h)      172.16.20.11主机配置:mysql服务

# yuminstall mariadb-server                  安装mysql

# systemctlstart mariadb                                 启动mysql服务

# ss –tnl                                                         查看监听端口,3306为默认端口

执行安全操作

#mysql_secure_installation

强烈建议在mysql安装完成后执行安全操作,这样使得数据库更安全



创建所需数据库并授权

                            # mysql -uroot –p

Enterpassword:

Welcome to the MariaDBmonitor.Commands end with ; or \g.

Your MariaDB connectionid 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 rowaffected (0.02 sec)



# 授权wordpress数据库

MariaDB [(none)]>GRANT ALL ON wpdb.* TO wpuser@172.16.20.10 IDENTIFIED BY 'wppasswd';

Query OK, 0 rowsaffected (0.01 sec)

#授权远程访问主机(phpMyadmin)

MariaDB [(none)]> GRANTALL ON *.* TO admin@'172.16.20.10' IDENTIFIED BY 'admin';

Query OK, 0 rowsaffected (0.01 sec)

    3.   支持所有配置基本完毕,验证结果

验证数据库联通

spacer.gif

    4.   查看wordpress是否正常
页: [1]
查看完整版本: 基于RPM包的LAMP搭建