构建LAMP平台利用虚拟主机实现提供discuz论坛、基于SSL安装phpMy

建立Web服务,提供LAMP平台,提供至少3个虚拟主机,基于主机名实现:

下面是3个虚拟主机,及其网页目录存放位置:

www.magedu.com /web/vhosts/wwwpma.magedu.com/web/vhosts/pmawp.magedu.com /web/vhosts/wp

要求: 为虚拟主机www.magedu.com提供一个discuz论坛。 为虚拟主机pma.magedu.com安装一个PHP开发的网站页面(即安装phpMyAdmin软件),要基于SSL来实现。 为虚拟主机wp.magedu.com安装wordpress。

一、准备工作:

1、关闭selinux

由于我们所要做的实验会改动web服务的网页目录,所以只有关闭selinux才会生效。关闭selinux的方法有以下2种:

(1)直接在命令行中输入setenforce 0,但这种方式只会当前shell有效,当系统重启时,又会失效。

    [root@linli~]#getenforce Enforcing [root@linli~]#setenforce0 [root@linli~]#getenforce Permissive

(2)修改selinux的配置文件/etc/sysconfig/selinux

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440460.png” />

2、我这里没有配置dns,所以就编辑RHEL5.8系统上的/etc/hosts,还有Win7上的hosts文件来实现域名解析:

    在/etc/hosts文件中和Win7的hosts文件中添加如下四行内容,以实现域名解析 172.16.26.1www.magedu.com 172.16.26.1pma.magedu.com 172.16.26.1wp.magedu.com172.16.26.1 linli.linux //linli.linux是我的主机名,如果你的主机名不是 新设置,这一行是没有必要的。

3、phpMyAdmin的认证过程是依赖于时间的,所以要保证cookie时间要和本地时间保持一致:

    使用hwclock可以使用同步时间 [root@linli~]#hwclock-s [root@linli~]#date TueJul310:48:06CST2012

二、构建LAMP平台:

1、使用光盘配置yum源(1)挂载光盘(注意:挂载的光盘要有php53相关的rpm包):650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440481.png” />

为了可以在每次启动时/dev/cdrom可以自动挂载,可以编辑/etc/fstab添加如下一行:

    /dev/cdrom/dev/cdromiso9660defaults00

(2)编辑/etc/yum.repos.d/my_yum.repo文件,添加内容如下:

    [base] name=Serverbaseurl=file:///mnt/cdrom/Server gpgcheck=0enabled=1[Cluster] name=Clusterbaseurl=file:///mnt/cdrom/Cluster gpgcheck=0enabled=1[ClusterStorage] name=ClusterStoragebaseurl=file:///mnt/cdrom/ClusterStorage gpgcheck=0enabled=1[VT] name=VTbaseurl=file:///mnt/cdrom/VT gpgcheck=0enabled=1

(3)此时可以先使用命令yum clean all 清除一下缓存数据,然后使用yum repolist看看yum源是否配置成功。

2、用rpm包安装web服务,提供LAMP平台

    [root@linli~]#yum-yinstallhttpdphp53php53-mbstringphp53-mysqlmysqlmyql-server

注意:要安装php53,是为了安装phpMyAdmin;因为phpMyAdmin-3.4的系列和phpMyAdmin-3.5的系列要求安装的php是5.3以后的版本。3、配置3个虚拟主机(1)创建web服务器提供网页的目录

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440602.png” />

(2)修改httpd配置文件,添加3个基于主机名的虚拟主机

    [root@linli~]#vim/etc/httpd/conf/httpd.conf #注释DocumentRoot #DocumentRoot"/var/www/html" #将NameVirtualHost的注释去掉 NameVirtualHost*:80 #让httpd支持php网页DirectoryIndex index.php index.html index.html.var#设置虚拟主机 <VirtualHost172.16.26.1:80>ServerNamewww.magedu.com DocumentRoot/web/vhosts/www </VirtualHost><VirtualHost172.16.26.1:80>ServerNamepma.magedu.com DocumentRoot/web/vhosts/pma </VirtualHost><VirtualHost172.16.26.1:80>ServerNamewp.magedu.com DocumentRoot/web/vhosts/wp </VirtualHost>

(3)使用命令httpd -t测试httpd的配置文件是否有语法,然后启动服务就OK了650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440613.png” />

4、为3个虚拟主机提供网页,并测试:

    [root@linli~]#echo"<h1>www.magedu.com</h1>">/web/vhosts/www/index.html [root@linli~]#echo"<h1>pma.magedu.com</h1>">/web/vhosts/pma/index.html [root@linli~]#echo"<h1>wp.magedu.com</h1>">/web/vhosts/wp/index.html

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440624.png” />

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440765.png” />

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440786.png” />

5、启动mysqld,首次启动会做mysql初始化:

    [root@linli~]#servicemysqldstart

6、设置服务开机自动启动

    [root@linli~]#chkconfighttpdon [root@linli~]#chkconfigmysqldon

注意: php在这种模型下默认是以apache的模块存在的,所以apache服务启动来,php就不用启动了。

7、测试php能否连上mysql

    [root@linli~]#vim/web/vhosts/www/index.html<h1>www.magedu.com</h1><?php$link=mysql_connect('localhost','root','redhat'); if($link) echo"Success!!!"; else echo "Faulure..."; mysql_close(); ?>

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440797.png” />

三、为www.magedu.com安装discuz论坛:

(1)解压缩Discuz软件包,并将upload目录下的所有文件复制到/web/vhosts/www/目录中:

    unzipDiscuz_7.2_FULL_SC_GBK.zip mvupload/*/web/vhosts/www/

(2)在浏览器中输入www.magedu.com/install 开始安装Discuz:

此时会出现一些小问题只需要按提示做就OK了。

将小问题汇总如下:

    //在一打开网页你就会看到是乱码,这时你只需要修改一下httpd的配置文件注释UTF-8这一行,并重启httpd服务即可: [root@linli~]#vim/etc/httpd/conf/httpd.conf #AddDefaultCharsetUTF-8 [root@linli~]#servicehttpdrestart Stoppinghttpd:[OK] Startinghttpd:[OK] //上面配置好之后,刷新一下页面,当你点击下一步时,会让你编辑/etc/php.ini文件将short_open_tag设置为on,然后重启服务即可: [root@linli~]#vim/etc/php.ini short_open_tag=on[root@linli~]#servicehttpdrestart Stoppinghttpd:[OK] Startinghttpd: //刷新页面之后,到开始安装界面,你会看到目录、文件权限有问题,按照提示一步一步的将文件权限设置对就OK了 [root@linli~]#cd/web/vhosts/www/ [root@linliwww]#setfacl-mu:apache:rwconfig.inc.php [root@linliwww]#setfacl-mu:apache:rwxattachments/forumdata/forumdata/cache/forumdata/templatesforumdata/threadcaches/forumdata/logs/uc_client/data/cache/ //在安装数据库界面下,需要填写数据库用户名和密码,此时使用root是不安全的,所以新建一个discuz用户添加密码,并授权: mysql>CreateUSERdiscuz@'localhost'IDENTIFIEDBY'redhat'; QueryOK,0rowsaffected(0.01sec) mysql>GRANTallONdiscuz.*TOdiscuz@'localhost'; QueryOK,0rowsaffected(0.00sec)

四、为pma.magedu.com安装phpMyAdmin:

phpMyAdmin是一个非常好的基于web页面实现MySQL管理的GUI,客户端只需要有一个浏览器即可。

1、安装phpMyAmin:phpMyAmin-3.5.1-all-languages.tar.bz2是web服务器的网页页面,将解压之后的内容移动到可执行目录中或网页目录中即可:

    [root@linli~]#tarxfphpMyAdmin-3.5.1-all-languages.tar.bz2 [root@linli~]#cdphpMyAdmin-3.5.1-all-languages [root@linliphpMyAdmin-3.5.1-all-languages]#mv*/web/vhosts/pma [root@linliphpMyAdmin-3.5.1-all-languages]#cd/web/vhosts/pma/

2、pma运行起来需要一个配置文件,在当前目录下有一个config.sample.inc.php文件,这是一个pma的样例配置文件,只需要把它重命名一下,改为config.inc.php:

    [root@linlipma]#cpconfig.sample.inc.phpconfig.inc.php

3、修改pma的配置文件 由于pma是通过浏览器来浏览、管理我们的MySQL服务器,但在管理时需要一个账号密码才可以进行管理,而这个账号密码是通过互联网发送。http又是明文传输的,所以要修改一下配置文件的下面这一行内容:

    [root@linlipma]#vimconfig.inc.php cfg['blowfish_secret']='skjfaoiursnfvksjfhdskdh'

注意: (1)blowfish_secret:是为了加密用户在客户端浏览器中产生的cookie信息,是一种安全防护机制。如果不加密,别人就可以通过cookie直接连上我们的MySQL服务器。(2)’skjfaoiursnfvksjfhdskdh’:是随便输入的一段字符串。

4、blowfish_secret只是为了保证cookie是加密的;但http在传输中还是明文的,为了保证http在传输中也是密文的就需要安装SSL。(1)配置CA服务器

    //修改保存目录 [root@linli~]#vim/etc/pki/tls/openssl.cnf dir=/etc/pki/CA //创建CA所需要的目录及文件 [root@linli~]#cd/etc/pki/CA [root@linliCA]#mkdircertsnewcertscrl [root@linliCA]#touchindex.txt [root@linliCA]#echo01>serial

(2)自签证书

    [root@linliCA]#(umask077;opensslgenrsa2048>private/cakey.pem) GeneratingRSAprivatekey,2048bitlongmodulus .......................+++ .................................................................................+++ eis65537(0x10001) [root@linliCA]#opensslreq-x509-new-keyprivate/cakey.pem-outcacert.pem-days3650 Youareabouttobeaskedtoenterinformationthatwillbeincorporated intoyourcertificaterequest. WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN. Therearequiteafewfieldsbutyoucanleavesomeblank Forsomefieldstherewillbeadefaultvalue, Ifyouenter'.',thefieldwillbeleftblank. ----- CountryName(2lettercode)[GB]:ZG StateorProvinceName(fullname)[Berkshire]:HenNan LocalityName(eg,city)[Newbury]:ZZ OrganizationName(eg,company)[MyCompanyLtd]:magedu.ca OrganizationalUnitName(eg,section)[]:Tech CommonName(eg,yournameoryourserver'shostname)[]:ca EmailAddress[]:

(3)httpd服务器申请CA为自己签署证书

    [root@linlipma]#mkdirssl [root@linlipma]#cdssl [root@linlissl]#(umask077;opensslgenrsa1024>httpd.key) GeneratingRSAprivatekey,1024bitlongmodulus .....++++++ ..........++++++ eis65537(0x10001) [root@linlissl]#opensslreq-new-keyhttpd.key-outhttpd.csr Youareabouttobeaskedtoenterinformationthatwillbeincorporated intoyourcertificaterequest. WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN. Therearequiteafewfieldsbutyoucanleavesomeblank Forsomefieldstherewillbeadefaultvalue, Ifyouenter'.',thefieldwillbeleftblank. ----- CountryName(2lettercode)[GB]:ZG StateorProvinceName(fullname)[Berkshire]:HenNan LocalityName(eg,city)[Newbury]:ZZ OrganizationName(eg,company)[MyCompanyLtd]:pma.magedu.com OrganizationalUnitName(eg,section)[]:Tech CommonName(eg,yournameoryourserver'shostname)[]:linli.linux EmailAddress[]: Pleaseenterthefollowing'extra'attributes tobesentwithyourcertificaterequest Achallengepassword[]: Anoptionalcompanyname[]: //CA签署证书[root@linlissl]#opensslca-inhttpd.csr-outhttpd.crt-days3650 Usingconfigurationfrom/etc/pki/tls/openssl.cnf Checkthattherequestmatchesthesignature Signatureok TheorganizationNamefieldneededtobethesameinthe CAcertificate(magedu.ca)andtherequest(pma.magedu.com)

5、使用浏览器测试访问pma.magedu.com:

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440818.png” />

注意:

(1)默认是不支持root空密码访问的,所以需要设置mysql数据库中的user表中的root用户所对应的密码

(2)安装PHP扩展时,只需使用rpm命令安装libmcrypt和php53-mcrypt包即可。

五、为wp.magedu.com安装wordpress:

wordpress在全球是最流行的站点快速构建工具之一,是一个个人博客系统。模块化设计,支持模块、CMS等各种接口。

1、安装wordpress软件包:

    #unzipwordpress-3.3.1-zh_CN.zip #mvwordpress/*/web/vhosts/wp/

2、使用浏览器输入wp.magedu.com,然后按提示一步一步安装即可,最后成功的界面如下:

650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660703440829.png” />

注意:

(1)添加过数据库、用户,并给用户授予权限之后,需要重启mysqld。

蝴蝶梦

自信的生命最美丽!

构建LAMP平台利用虚拟主机实现提供discuz论坛、基于SSL安装phpMy

相关文章:

你感兴趣的文章:

标签云: