马哥教育21期网络班—第12周课程+练习—-LAMP练习中

  • 为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

  • (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu);

  • (2)设置部门为Ops,主机名为www2.stuX.com,邮件为[email protected]; [

root@centos CA]# touch index.txt serial
[root@centos CA]# echo 01 > serial 
[root@centos CA]# (umask 077;openssl genrsa -out ./private/cakey.pem 1024)
Generating RSA private key, 1024 bit long modulus
.......................................................++++++
.......++++++
e is 65537 (0x10001)
[root@centos CA]# openssl req -new  -x509 -key ./private/cakey.pem -out ./cacert.pem
[root@centos CA]# cd /usr/local/apache/
[root@centos apache]# mkdir ssl
[root@centos apache]# (umask 077;openssl genrsa -out ./ssl/http.key 1024)
[root@centos CA]# cd /usr/local/apache/
[root@centos apache]# mkdir ssl
[root@centos apache]# (umask 077;openssl genrsa -out ./ssl/http.key 1024)
Generating RSA private key, 1024 bit long modulus
..................................++++++
.......................................++++++
e is 65537 (0x10001)
[root@centos apache]# openssl req -new -key ./ssl/http.key -out ./ssl/http.crst -days 3600[root@centos apache]# openssl ca -in ./ssl/http.crst -out ./ssl/http.crt -days 3600[root@centos ~]# cd /usr/local/apache/ssl/
[root@centos ssl]# ls
http.crst  http.crt  http.key
之后修改/etc/httpd24/httpd.conf
LoadModule ssl_module modules/mod_ssl.so
Include /etc/httpd24/extra/httpd-ssl.conf
然后编辑/etc/httpd24/extra/httpd-ssl.conf如下
<VirtualHost _default_:443>
    DocumentRoot "/web/vhost/www2/"
    ServerName www2.stuX.com
    ErrorLog "/var/log/httpd/www2.err"
    CustomLog "/var/log/httpd/www2.access" common
<Directory "/web/vhost/www2/">
 AllowOverride None
    Options None
    Require all granted
</Directory>
SSLCertificateFile "/usr/local/apache/ssl/http.crt"SSLCertificateKeyFile "/usr/local/apache/ssl/http.key"</VirtualHost>

QQ截图20160924234005.png

6、在LAMP架构中,请分别以php编译成httpd模块形式

yum groupinstall "Development Tools" "Server Platform Development"------>安装包组1、编译安装Apachehttpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级
(1)、编译安装apr
tar xf apr-1.5.0.tar.bz2
cd apr-1.5.0
 ./configure --prefix=/usr/local/apr 
make && make install
(2)、编译安装apr-util
tar xf apr-util-1.5.3.tar.bz2 
cd apr-util-1.5.3./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
 make && make install
(3)、编译安装httpd
groupadd -r apache
useradd -r -g apache apahce
yum -y install pcre-devel ---->安装pcre-devel支持
tar xf httpd-2.4.9.tar.bz2
cd httpd-2.4.9./configure --prefix=/usr/local/apache --sysconf=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
编译的时候报这个错误------------------------------------------------------------------------------------------------------------
checking whether to enable mod_ssl… configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
yum install openssl-devel----->解决
make && make install3、修改httpd的主配置文件,设置其Pid文件的路径
编辑vim /etc/httpd24/httpd.conf,添加如下行即可:PidFile  "/var/run/httpd/httpd24.pid"提供httpd 运行脚本
 cd /etc/rc.d/init.d/
 cp httpd httpd24 
 vim httpd24 
 apachectl=/usr/local/apache/bin/apachectl ---------------->改的
 httpd=${HTTPD-/usr/local/apache/bin/httpd}
 pidfile=${PIDFILE-/var/run/httpd/httpd24.pid}
 lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
 chkconfig --add httpd24 
 chkconfig --list httpd24
 httpd24        	0:关闭	1:关闭	2:关闭	3:关闭	4:关闭	5:关闭	6:关闭
 httpd -t ------------>检查语法
 hash -r --------------->清除缓存
 vim /etc/profile.d/httpd.sh
 export PATH=/usr/local/apache/bin$PATH-------------->定义PATH读取
 . /etc/profile.d/httpd.sh ------------->重读配置文件
  service httpd24 start
 ss -tnl ---------------->查看80端口是否被监听到
 ps aux | grep httpd----->查看工作模式
 vim /etc/httpd24/httpd.conf ----------->配置文件 LoadModule deflate_module modules/mod_deflate.so----------->启用 2、编译安装mariadb
 tar xf  mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local 
 ---------------------------------------------------------------
 准备数据目录
 mkdir -pv /mydata/data------>创建数据存放目录
 -----------------------------------------------------------------
  配置mariadb----->
  ----------------------------------------------------------------
groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 mysql
cd /usr/local/
ln -sv mariadb-5.5.36-linux-x86_64 mysql
cd /usr/local/mysql
chown -R root:mysql ./*
scripts/mysql_install_db --datadir=/mydata/data --user=mysql
cp supper-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld  --->添加
chkconfig --list mysqld --->查看
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
添加三个选项:
datadir = /mydata/data
innodb_file_per_table = on
skip_name_resolve = on
service  mysqld start
/usr/local/mysql/bin/mysql_secure_installation------------>安全初始化
mysql优化
编辑/etc/man.config,添加如下行即可:MANPATH  /usr/local/mysql/man7、输出mysql的头文件至系统头文件路径/usr/include:
这可以通过简单的创建链接实现:
ln -sv /usr/local/mysql/include  /usr/include/mysql8、输出mysql的库文件给系统库查找路径:
echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:
ldconfig9、修改PATH环境变量,让系统可以直接使用mysql的相关命令。
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH. /etc/profile.d/mysql.sh
 ---------------------------------------------------------------
 安装php
解决依赖关系
yum -y groupinstall "Desktop Platform Development" yum -y install bzip2-devel libmcrypt-devel libxml2-devel
--------------------------------------------------------------2、编译安装php-5.4.0tar xf php-5.4.0.tar.bz2
cd php-5.4.0./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts
make
make test
make intall
--------------------------------------------------------------------------------------------------------------------------------------
为php提供配置文件:
 cp php.ini-production /etc/php.ini
 --------------------------------------------------------------------------------------------------------------- 3、 编辑apache配置文件httpd.conf,以apache支持php
 # vim /etc/httpd/httpd.conf 1、添加如下二行   AddType application/x-httpd-php  .php   AddType application/x-httpd-php-source  .phps 2、定位至DirectoryIndex index.html 
   修改为:    DirectoryIndex  index.php  index.html
    ---------------------------------------------------------------
   而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用
 如果不能正常使用 vim /etc/rc.d/init.d/httpd24 
pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}-------->修改
测试页面index.php示例如下:
    <?php
      $link = mysql_connect('127.0.0.1','root','mageedu');      if ($link)
        echo "Success...";      else
        echo "Failure...";
 		phpinfo();
      mysql_close();
    ?>

2.4模块.png

2.4模块2.png

原创文章,作者:N21_ Dominic,如若转载,请注明出处:http://www.178linux.com/49001

(0)
N21_ DominicN21_ Dominic
上一篇 2016-09-26 07:43
下一篇 2016-09-26 07:43

相关推荐

  • 系统基础之sed工具详解

    sed工具详解 NAME:  sed – stream editor for filtering and transforming text(实现文本替换和过滤功能)  类型: 行编辑器(流) 特点: 把文件中的每一行加载到内存中,匹配模式,把能够匹配到模式的内容输出到屏幕,不修改原文件 工作模式:   每一次读取一…

    Linux干货 2016-08-10
  • 使用NFS和Samba文件服务搭建博客站点

    使用NFS和Samba文件服务搭建博客站点 实验目的:分别使用NFS和Smaba文件服务实现wordpress 实验要求: (1) server导出/data/application/web,在目录中提供wordpress; (2) client挂载nfs server导出的文件系统至/var/www/html;(3) 客户端1(lamp),部署w…

    2017-04-30
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 答:hwclock -s 2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 答:screen -S work  进去后开始做工作,暂时离开时可使用 ctrl+a,d 剥离当前会话。 3 Linux系统中命令共分为内建命令…

    Linux干货 2016-10-18
  • RHEL6.9换源记

    RHEL是提供给企业使用的,虽然我们在网络上也能下载到它的镜像,但是我们无法使用它的服务。最近由于系统比较卡,重装了一次系统,装完之后,我用VMware Workstation Pro 12 加载了之前的RHEL 6.9-000002.vmdk文件之后居然发现不能挂载CD/DVD,这就不能愉快的玩了。在VMware的设置里折腾好久也没能搞定,光盘安装RPM包…

    2017-07-20
  • 在CentOS 6上编译安装LAMP

    在CentOS 6上编译安装LAMP     在生产中如果需要使用较新的服务,而系统提供的rpm包又较老时该怎么办呢?其实应用程序的安装方式有多种,如:使用系统发行商提供rpm包或者下载源码包手动编译安装也是可以的。今天我们编译的服务不是一个单独的而是一套。这套黄金搭档从诞生之初到现在已经经过无数用户的验证,各大电商站点、门户网站、以及各…

    Linux干货 2017-04-23
  • 磁盘管理

    1、拿到一块硬盘,通常来讲,第一步是分区,然后是文件系统的创建,管理文件系统,第三步是挂载设备。 2、linux(准确的说是UNIX)哲学,whindows一切皆窗口,一切皆图形。 3、磁盘是一个硬件设备,存放在/dev/目录下,会有相应的文件来对应的表示这些设备文件,在这个目录下存放的全是设备。 4、在/dev目录下和设备相关的有两种,一种是c开头为字符,…

    Linux干货 2017-04-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-24 23:07

    总结的很好,