配置开发环境
开发 EduSoho 需安装 PHP、MySQL、Nginx、NodeJS 等环境。本文档提供以下操作系统的开发环境安装:
Ubuntu
macOS
Windows
Ubuntu
安装 PHP
EduSoho 可以运行在 PHP 5.5 及以上版本,推荐安装当前最新稳定版本 PHP 7.1 。
sudoLC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpsudoapt-getupdatesudoapt-getinstallphp-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
修改 PHP-FPM 监听方式为127.0.0.1:9000:
sudosed-i's/listen = .*/listen = 127.0.0.1:9000/g'/etc/php/7.1/fpm/pool.d/www.conf
重启 PHP-FPM 服务进程:
sudoservicephp7.1-fpm restart
安装 MySQL
EduSoho 可以运行在 MySQL 5.5 及以上版本,推荐安装当前最新稳定版本 MySQL 5.7。
配置 MySQL 5.7 的源:
# 可在 http://dev.mysql.com/downloads/repo/apt/ 页面找到 mysql-apt-config 的最新版本。wgethttp://dev.mysql.com/get/mysql-apt-config_0.8.7-1_all.debsudodpkg -i mysql-apt-config_0.8.7-1_all.deb
这时会弹出让你选择,将:
MySQL Server修改为: mysql-5.7
MySQL Tools & Connectors (Currently selected: Enabled)修改为Disabled。
MySQL Preview Packages修改过为 Disabled。
sudoapt-getupdatesudoapt-getinstallmysql-server
安装过程中会提示设置 MySQL 的 root 密码,按回车即可,表示密码为空。
注意
为方便开发,这里设置了 MySQL 的 root 密码为空。如在生产环境,请勿这样做,需设置一定强度的密码。
MySql 5.7.6 起,安装时如果 root 不设置密码,那么默认会采用auth_socket的方式登陆 MySQL 。也就是登陆 MySQL 时验证你的 Linux 的当前用户是否为 root,如果不是就不能登陆。在auth_socket模式下,应用程序通过数据库的用户名、密码是无法连接的,这就需要我们将数据库的登陆模式,改为mysql_native_password模式。
进入数据库:sudo mysql -uroot,执行:
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';FLUSHPRIVILEGES;exit;
安装 Nginx
sudoadd-apt-repository ppa:nginx/stablesudoapt-getupdatesudoapt-getinstallnginx
验证 Nginx 服务启动是否成功:
echo"Hello, EduSoho!">>/var/www/index.htmlecho">/var/www/phpinfo.php
在浏览器中打开http://localhost,出现Hello, EduSoho!表示 Nginx 启动成功。 在浏览器中打开http://localhost/phpinfo.php,出现 PHP 配置相关信息,表示 PHP 配置成功。
如启动失败,可通过查看/var/log/nginx/error.log日志文件来获得错误信息。
安装 Node.js
curl-sL https://deb.nodesource.com/setup_6.x|sudo-Ebash-
echo"
deb https://mirrors.tuna.tsinghua.edu.cn/nodesource/deb_6.x trusty main
deb-src https://mirrors.tuna.tsinghua.edu.cn/nodesource/deb_6.x/ trusty main
"|sudotee/etc/apt/sources.list.d/nodesource.list
sudoapt-getupdatesudoapt-getinstall-y nodejs
安装 yarn:
sudonpminstall-g yarn
配置 npm、yarn 源为国内源,以大幅提升NPM的安装速度:
sudonpmconfigsetregistry https://registry.npm.taobao.orgsudoyarn configsetregistry https://registry.npm.taobao.org
安装 Git
sudoapt-add-repository ppa:git-core/ppasudoapt-getupdatesudoapt-getinstallgit
安装 phpMyAdmin
phpMyAdmin 是一款方便易用的 MySql 数据库管理软件。可以在 官网 下载最新版的 phpMyAdmin。
下载后,将 phpMyAdmin 解压到:/var/www/phpmyadmin目录下,创建配置文件config.inc.php,内容如下:
在打开浏览器打开 http://localhost/phpmyadmin/ ,即可进入 phpMyAdmin。
macOS
Homebrew 是 macOS 下流行的包管理软件,下面通过 Homebrew 来安装各软件包。
安装 PHP
安装 PHP 软件包:
brewinstallphp71 --with-pear
安装后 php.ini 以及 fpm 的配置文件均在/usr/local/etc/php/7.1/目录下。
设置环境变量:
安装后会提示你配置环境变量,如:
echo'export PATH="/usr/local/opt/[email protected]/bin:$PATH"'>>~/.zshrcecho'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"'>>~/.zshrc
这里的 ~/.zshrc 可能会是 ~/.bashrc,或其他,有实际环境决定。复制提示中的环境变量语句,并执行。
让环境变量立即生效:
source`~/.zshrc`# 或者 ~/.bashrc 或...
启动 PHP-FPM 服务:
brew services start [email protected]
提示
可以通过以下命令重启、停止 PHP-FPM 服务:
brew services restart [email protected]# 重启brew services stop [email protected]# 停止
验证 PHP-FPM 服务是否启动成功:
psaux|grepphp-fpm
如存在相关 PHP-FPM 进程,则表明启动成功。
安装 Nginx
brewinstallnginx
Nginx 安装后,可在/usr/local/etc/nginx目录下,找到 Nginx 系列配置文件。
修改配置:
主要修改如下:
监听端口8080,改为80;
调整localhost的root目录到/var/www下;
指定error_log, access_log日志目录到/var/log/nginx目录下;
开启localhost对.php文件结尾的解析;
调整virtual server的配置目录为sites-enabled,这样添加virtual server只需在sites-enabled目录下添加相应的配置文件即可。
其中第2,3,5条规则调整是为了跟 Ubuntu 的配置风格保持一致。
建立目录:
sudomkdir-p /var/wwwsudochownroot:staff /var/wwwsudochmodg+w /var/wwwsudomkdir-p /var/log/nginxmkdir/usr/local/etc/nginx/sites-enabled
替换/usr/local/etc/nginx/nginx.conf的配置内容为:
user nobody;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /var/www;
charset utf-8;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
include sites-enabled/*;
}
启动 Nginx 服务:
sudobrew services start nginx
也可通过sudo brew services restart|stop nginx命令来重启、停止服务。
注意
由于系统限制,使用80及低于80端口的应用程序需以root权限启动。所以启动80端口的Nginx需通过sudo来启动。
验证 Nginx 服务启动是否成功:
echo"Hello, EduSoho!">>/var/www/index.htmlecho">/var/www/phpinfo.php
在浏览器中打开http://localhost,出现Hello, EduSoho!表示 Nginx 启动成功。 在浏览器中打开http://localhost/phpinfo.php,出现 PHP 配置相关信息,表示 PHP 配置成功。
如启动失败,可通过查看/var/log/nginx/error.log日志文件来获得错误信息。
配置Nginx服务随机启动:
cp/usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
安装 MySQL
brewinstallmysql
启动 MySQL 服务:
brew services start mysql
也可通过brew services restart mysql、brew services stop mysql命令来重启、停止服务。
Mysql的root密码默认为空,可以通过:mysql -uroot命令进入mysql。
配置 MySQL 服务随机启动:
cp/usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
安装 phpMyAdmin
phpMyAdmin 是一款方便易用的 MySql 数据库管理软件。可以在 官网 下载最新版的 phpMyAdmin。
下载后,将 phpMyAdmin 解压到:/var/www/phpmyadmin目录下,创建配置文件config.inc.php,内容如下:
在打开浏览器打开 http://localhost/phpmyadmin/ ,即可进入 phpMyAdmin。
安装 NodeJS
brewinstallnode
安装 yarn:
npminstall-g yarn
配置 NPM、YARN 源为国内源,以大幅提升NPM的安装速度:
npmconfigsetregistry https://registry.npm.taobao.orgyarn configsetregistry https://registry.npm.taobao.org
Windows
TODO...