最近安装edusoho遇到了很多麻烦之处,官方的教程比较老都是基于ubunto14和centos7,而centos7的教程又会遇到莫名其妙的问题,研究了很久才在ubunto16上安装成功。在此写个小教程,第一让像我一样的小白能少走点弯路,第二也算是我自己的笔记以后再次安装或许能用到。
下面是官方教程的地址,我的教程主要是这两个教程的整合。
http://www.qiqiuyu.com/course/20/task/794/show
http://developer.edusoho.com
更新系统
sudo apt-get update
sudo apt-get upgrade
安装 PHP
1.安装php:EduSoho 可以运行在 PHP 5.5 及以上版本,推荐安装当前最新稳定版本 PHP 7.1
sudo apt-get install software-properties-common python-software-properties
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php-pear php7.1-cli php7.1-common php7.1-curl \
php7.1-dev php7.1-fpm php7.1-json php7.1-mbstring php7.1-mcrypt \
php7.1-mysql php7.1-opcache php7.1-zip php7.1-intl php7.1-gd php7.1-xml
2.修改php上传文件的限制大小:
sudo vim /etc/php5/fpm/php.ini
修改以下三个变量值为1024M
post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
3.配置PHP-FPM文件:
编辑配置文件: vim /etc/php/7.1/fpm/pool.d/www.conf,找到:
listen.owner = www-data
listen.group = www-data
;listen.mode = 0660
去掉这三行前面的分号
然后重启PHP-FPM:
sudo service php7.1-fpm restart
安装 MySQL
1、安装并配置MySQL
安装mysql
wget http://dev.mysql.com/get/mysql-apt-config_0.8.7-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.7-1_all.deb
这时会弹出让你选择,将:
MySQL Server
修改为: mysql-5.7MySQL Tools & Connectors (Currently selected: Enabled)
修改为Disabled
。MySQL Preview Packages
修改过为 Disabled。
sudo apt-get update
sudo apt-get install mysql-server
2 创建数据库
mysql -uroot -p
然后你需要输入MySQL数据库的root密码。
进入数据库命令行模式后,创建edusoho数据库,执行:
CREATE DATABASE `edusoho` DEFAULT CHARACTER SET utf8 ;
GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho';
quit;
注意:这里为edusoho数据库创建了一个用户名,用户名为:esuser,密码为edusoho,在后面安装的第三步需要用到,不建议直接填写root账户。
安装 Nginx
1、安装Nginx
安装nginx
sudo apt-get install nginx
配置Nginx
sudo vim /etc/nginx/nginx.conf
然后 在http{} 字段里添加
client_max_body_size 1024M;
安装 edusoho
1 下载/解压程序(目前最新版本为8.2.37)
mkdir /var/www
cd /var/www
wget http://download.edusoho.com/edusoho-VERSION.tar.gz (注:将VERSION替换为当前EduSoho最新版本号,可从官网www.edusoho.com查询获取)
tar -zxvf edusoho-VERSION.tar.gz
chown www-data:www-data edusoho/ -Rf
注:这里的下载地址可以在http://www.edusoho.com/中可以获取到,VERSION为下载来之后压缩包后面的版本号。
2 配置nginx的虚拟主机
sudo vim /etc/nginx/sites-enabled/edusoho
输入以下内容:(改1:填入服务器外网IP地址,改2注意要修改成实际的运行方式,还有中间有一处也改为实际的:一般是 /run/php/php7.1-fpm.sock)
server {
listen 80;
# [改1] 网站的域名
server_name www.example.com example.com;
#301跳转可以在nginx中配置
# 程序的安装路径
root /var/www/edusoho/web;
# 日志路径
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
index app.php;
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/udisk {
internal;
root /var/www/edusoho/app/data/;
}
location ~ ^/(app|app_dev)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;
fastcgi_param HTTP_X-Accel-Mapping /udisk=/var/www/edusoho/app/data/udisk;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
}
# 配置设置图片格式文件
location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
# 过期时间为3年
expires 3y;
# 关闭日志记录
access_log off;
# 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
gzip off;
}
# 配置css/js文件
location ~* \.(css|js)$ {
access_log off;
expires 3y;
}
# 禁止用户上传目录下所有.php文件的访问,提高安全性
location ~ ^/files/.*\.(php|php5)$ {
deny all;
}
# 以下配置允许运行.php的程序,方便于其他第三方系统的集成。
location ~ \.php$ {
# [改2] 请根据实际php-fpm运行的方式修改
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_param HTTP_PROXY "";
}
}
重启 Nginx
sudo /etc/init.d/nginx restart
完成后可以在浏览器上访问自己的刚刚填的外网地址,然后进行安装就可完成