我是靠谱客的博主 动听可乐,最近开发中收集的这篇文章主要介绍部署LAMP站点-edusoho,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、部署edusoho站点

Edusoho是面向个人、学校、培训机构及企业用户的友好、开源、高性价比的在线教育建站系统。Edusoho提供在线教学、网校管理、云视频点播、直播、移动APP等功能。
1.1 安装edusoho推荐的缓存软件和gd图形组件

[root@httpd-2 ~]# yum -y install mod_xsendfile
[root@httpd-2 src]# yum -y install gd php-gd

1.2 修该主配置文件

[root@httpd-2 ~]# vi /etc/httpd/conf/httpd.conf
// 将如下内容注释掉:
#<Files ".ht*">
#Require all denied
#</Files>

1.3 创建edusoho配置文件

root@httpd-2 ~]# cd /etc/httpd/conf.d/
[root@httpd-2 conf.d]# cp ecshop.conf edu.conf
[root@httpd-2 conf.d]# cat edu.conf 
<VirtualHost *:80>
    ServerAdmin 164767965@qq.com  
    DocumentRoot "/web/edu/web" 
    ServerName www.edu.com 
    ServerAlias edu.com  
    ErrorLog "logs/edu-error_log"   
    CustomLog "logs/edu-access_log" combined
</VirtualHost>

<Directory /web/edu/web>
AllowOverride All    
Require all granted
</Directory>

1.4 创建站点目录

[root@httpd-2 ~]# mkdir /web/edu

1.5 修改hosts文件
打开C:WindowsSystem32driversetchosts文件,添加如下内容:
192.168.235.82 www.edu.com edu.com

1.6 配置PHP文件

[root@httpd-3 ~]# vi /etc/php.ini
#修改时区设置:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
#设置上传文件的最大值,也就是上传的视频最大1G:
post_max_size = 1024M
upload_max_filesize = 1024M
memory_limit = 1024M

1.7 部署edusoho代码
打开http://www.edusoho.com/,点击开源下载

[root@httpd-2 ~]# cd /usr/local/src
[root@httpd-2 src]# rz -y
[root@httpd-2 src]# unzip edusoho-7.5.5.zip 
[root@httpd-2 src]# cd edusoho
[root@httpd-2 edusoho]# ls
api  app  bootstrap  plugins  src  vendor  vendor_user  web
[root@httpd-2 wordpress]# cp -r * /web/edu/

1.8 修改权限

[root@httpd-2 ~]# chown -R apache.apache /web/edu/
[root@httpd-2 ~]# apachectl -t
Syntax OK
[root@httpd-2 ~]# apachectl graceful

1.10 部署edusoho数据库
访问首页http://www.edu.com/install/start-install.php,在下面页面中点击【同意协议,并开始安装】按钮,如下图所示:
在这里插入图片描述
检测环境:
在这里插入图片描述
在这里插入图片描述
parameters.yml没有执行权限,需要将该文件增加执行权限:

[root@httpd-2 ~]# cd /var/www/edu/app/config/
[root@httpd-2 config]# chmod u+x parameters.yml 
[root@httpd-2 config]# ll
-rwxr--r-- 1 apache apache 1491 Jul  7 19:39 parameters.yml

重新检测,在下图界面中点击【下一步】:
在这里插入图片描述
创建数据库:
在这里插入图片描述
初始化系统:
在这里插入图片描述
安装完成,保存好授权码:
在这里插入图片描述
访问网站:
在这里插入图片描述

二、配置安全方式访问网站(重要)

Edusoho基本的网站已经搭建好了,下面将网站由80端口改为443端口,将访问网站的流量进行加密。

2.1 网站证书
为了保证用户的信息安全,网站都会向第三方申请证书,来确保用户访问的是真正的网站。如果网站不部署证书,用户易被DNS攻击,访问一个与真正的网站完全一样的钓鱼网站,就很容易上当受骗。证书是由第三方的权威机构颁发的,windows操作系统中默认信任了这些权威证书机构,如果访问的网站有第三方机构颁发的证书,网站就会显示网站的认证信息,用户就可以放心的访问该网站了。
查看百度网站的证书,点击左上角小锁:
在这里插入图片描述
2.2 创建自定义证书

创建新目录存储私钥:
[root@httpd-2 ~]# mkdir /etc/ssl/private

设置目录权限,只有root用户可以访问:
[root@httpd-2 ~]# chmod 700 /etc/ssl/private

使用openssl创建SSL密钥和证书文件:
[root@httpd-2 ~]# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
Generating a 2048 bit RSA private key
................+++
...............................+++
writing new private key to '/etc/ssl/private/apache-selfsigned.key'
Country Name (2 letter code) [XX]:CN    #所在国家
State or Province Name (full name) []:SD   #所在省份
Locality Name (eg, city) [Default City]:TA   #所在城市
Organization Name (eg, company) [Default Company Ltd]:SKD    #申请组织
Organizational Unit Name (eg, section) []:IT     # 申请部门
Common Name (eg, your name or your server's hostname) []:www.edu.com
#输入要申请证书的域名,如果没有域名,可以输入IP地址
Email Address []:carrick_ma@163.com   #联系人邮箱
[root@httpd-2 ~]# ll /etc/ssl/certs/apache-selfsigned.crt      # 证书文件
-rw-r--r-- 1 root root 1367 Jun  6 18:53 /etc/ssl/certs/apache-selfsigned.crt
[root@httpd-2 ~]# ll /etc/ssl/private/apache-selfsigned.key   # 私钥文件
-rw-r--r-- 1 root root 1704 Jun  6 18:53 /etc/ssl/private/apache-selfsigned.key
参数作用
openssl这是创建和管理OpenSSL证书、密钥和其他文件的命令。
req -x509这指定我们要使用X.509证书签名请求(CSR)管理。 “X.509”是SSL和TLS坚持用于密钥和证书管理的公钥基础架构标准。
-nodes告诉OpenSSL跳过使用密码保护证书的选项。当服务器启动时,我们需要Apache才能读取文件,无需用户干预。密码会阻止这种情况发生,因此每次重新启动后都必须输入密码。
-days 3650设置证书的有效期。我们在这里设置了十年。
-newkey rsa:2048定同时生成新证书和新密钥。我们没有创建在上一步中签署证书所需的密钥,因此我们需要与证书一起创建。 rsa:2048分配告诉它制作一个2048位长的RSA密钥。
-keyou设置OpenSSL私钥文件的目录和文件名。
-out设置OpenSSL证书的目录和文件名。

2.3 创建DH
DH用于客户端和服务器端协商全程加密

[root@httpd-2 ~]# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.................................................++*++*
[root@httpd-2 ~]# ll /etc/ssl/certs/dhparam.pem
-rw-r--r-- 1 root root 424 Jun  6 19:07 /etc/ssl/certs/dhparam.pem

由于CentOS7附带的Apache版本不包含SSLOpenSSLConfCmd指令,所以必须手动将生成的文件附加到我们的自签名证书的末尾,操作方式如下:

[root@httpd-2 ~]# cat /etc/ssl/certs/dhparam.pem | sudo tee -a /etc/ssl/certs/apache-selfsigned.crt
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEA45IXdqpcMbnjmLcBKFhEt20tRrzPEXCMGMa265gH4oc1CmvsA8BE
qVdyEOKuPCsRXZXYsMwGRUWPRHLegpLseHecXBn9x+JOtOz7njRLR7onRPsBT+TW
GPqM1UF5Wu4HTnY4tyjcqNNsRxhRlf7m3fJ0SKPUg2P3hbjzi+NpI+/MpESsJMCl
lVHNXJzRBQVn3zy8g9XRojmU7C/Ada/SVCsD7TLVmnbnovrK70L5zSzS+kD1berZ
bSXY38jHpbi1PTAg6QURgAtY4DUcqYngOpMkPQlualDC8AmWMti/WeN38Yk0JzVN
G1my9hgX+ZAsntvm4bf/usAPwVjKRp4bOwIBAg==
-----END DH PARAMETERS-----

将证书文件和私钥文件拷贝到/etc/httpd目录:

[root@httpd-2 ~]# cp /etc/ssl/certs/apache-selfsigned.crt /etc/httpd
[root@httpd-2 ~]# cp /etc/ssl/private/apache-selfsigned.key /etc/httpd
[root@httpd-2 ~]# ll /etc/httpd/apache*
-rw-r--r-- 1 root root 1803 Jun  6 19:13 /etc/httpd/apache-selfsigned.crt
-rw-r--r-- 1 root root 1704 Jun  6 19:13 /etc/httpd/apache-selfsigned.key
 // 修改秘钥文件和证书文件权限:
[root@httpd-2 ~]# chown apache.apache /etc/httpd/apache*

2.4 安装mod_ssl
mod_ssl是一个支持SSL的apache加密模块,安装方式如下:

[root@httpd-2 ~]# yum install mod_ssl –y
安装完成后,会在/etc/httpd/conf.d目录下,生成一个ssl.conf配置文件:
[root@httpd-2 ~]# cd /etc/httpd/conf.d/
[root@httpd-2 conf.d]# ls
autoindex.conf  edu.conf  php.conf  README  ssl.conf  userdir.conf

参考ssl.conf对虚拟主机进行配置。

2.5 修改edu.conf配置文件

[root@httpd-2 ~]# vi /etc/httpd/conf.d/edu.conf
#原先内容保留,因为用户会访问80端口,然后从80跳转到443端口:
<VirtualHost *:80>
    ServerAdmin 164767965@qq.com
    DocumentRoot "/var/www/edu/web"
    ServerName www.edu.com
    ServerAlias edu.com
    ErrorLog "logs/edu-error_log"
CustomLog "logs/edu-access_log" combined
RewriteEngine On                                     #启用rewrite功能
    RewriteRule ^(.*)$ https://www.edu.com$1 [R=301,L]   #301是永久重定向
</VirtualHost>

#在配置文件中,添加如下内容:
<VirtualHost *:443>                 
    DocumentRoot "/var/www/edu/web"
    ServerName www.edu.com                          #这里要去掉ServerAlias
    ErrorLog "logs/edu-error_log"
    CustomLog "logs/edu-access_log" combined
    SSLEngine on                                       # 启用SSL
    SSLCertificateFile apache-selfsigned.crt      # 证书文件
SSLCertificateKeyFile apache-selfsigned.key   # 证书秘钥文件
</VirtualHost>

重启服务器:

[root@httpd-3 ~]# apachectl -t
Syntax OK
[root@httpd-3 ~]# systemctl restart httpd

2.6 访问测试
在浏览器中输入域名www.edu.com,这个域名使用http协议的80端口进行访问时,会自动跳转到如下界面。在如下界面中点击【高级】【接受风险并继续】按钮:
在这里插入图片描述
在这里插入图片描述

最后

以上就是动听可乐为你收集整理的部署LAMP站点-edusoho的全部内容,希望文章能够帮你解决部署LAMP站点-edusoho所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部