Appearance
配置开发环境
开发 EduSoho 需安装 PHP、MySQL、Nginx、NodeJS 等环境。本文档提供以下操作系统的开发环境安装:
Ubuntu
安装 PHP
EduSoho 可以运行在 PHP 5.5 及以上版本,推荐安装当前最新稳定版本 PHP 7.1 。
bash
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 php7.1-ldap
修改 PHP-FPM 监听方式为127.0.0.1:9000
:
bash
sudo sed -i 's/listen = .*/listen = 127.0.0.1:9000/g' /etc/php/7.1/fpm/pool.d/www.conf
重启 PHP-FPM 服务进程:
bash
sudo service php7.1-fpm restart
安装 MySQL
EduSoho 可以运行在 MySQL 5.5 及以上版本,推荐安装当前最新稳定版本 MySQL 5.7。
配置 MySQL 5.7 的源:
bash
# 可在 http://dev.mysql.com/downloads/repo/apt/ 页面找到 mysql-apt-config 的最新版本。
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。
bash
sudo apt-get update
sudo apt-get install mysql-server
安装过程中会提示设置 MySQL 的 root 密码,按回车即可,表示密码为空。
注意
为方便开发,这里设置了 MySQL 的 root 密码为空。如在生产环境,请勿这样做,需设置一定强度的密码。
MySql 5.7.6 起,安装时如果 root 不设置密码,那么默认会采用auth_socket
的方式登陆 MySQL 。也就是登陆 MySQL 时验证你的 Linux 的当前用户是否为 root,如果不是就不能登陆。在auth_socket
模式下,应用程序通过数据库的用户名、密码是无法连接的,这就需要我们将数据库的登陆模式,改为mysql_native_password
模式。
进入数据库:sudo mysql -uroot
,执行:
sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
FLUSH PRIVILEGES;
exit;
安装 Nginx
bash
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
验证 Nginx 服务启动是否成功:
bash
echo "Hello, EduSoho!" >> /var/www/index.html
echo "<?php \nphpinfo();" >> /var/www/phpinfo.php
在浏览器中打开http://localhost
,出现Hello, EduSoho!
表示 Nginx 启动成功。 在浏览器中打开http://localhost/phpinfo.php
,出现 PHP 配置相关信息,表示 PHP 配置成功。
如启动失败,可通过查看/var/log/nginx/error.log
日志文件来获得错误信息。
安装 Node.js
bash
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
bash
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
" | sudo tee /etc/apt/sources.list.d/nodesource.list
bash
sudo apt-get update
sudo apt-get install -y nodejs
安装 yarn:
bash
sudo npm install -g yarn
配置 npm、yarn 源为国内源,以大幅提升NPM的安装速度:
bash
sudo npm config set registry https://registry.npm.taobao.org
sudo yarn config set registry https://registry.npm.taobao.org
安装 Git
bash
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
安装 phpMyAdmin
phpMyAdmin 是一款方便易用的 MySql 数据库管理软件。可以在 官网 下载最新版的 phpMyAdmin。
下载后,将 phpMyAdmin 解压到:/var/www/phpmyadmin
目录下,创建配置文件config.inc.php
,内容如下:
php
<?php
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
在打开浏览器打开 http://localhost/phpmyadmin/ ,即可进入 phpMyAdmin。
macOS
Homebrew 是 macOS 下流行的包管理软件,下面通过 Homebrew 来安装各软件包。
安装 PHP
添加 PHP 软件仓库:
bash
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
安装 PHP 软件包:
bash
brew install php71
安装后 php.ini 以及 fpm 的配置文件均在/usr/local/etc/php/7.1/
目录下。
设置环境变量:
查看环境PATH
:echo $PATH
,确认/usr/local/bin
, /usr/local/sbin
是否存在且排在/usr/sbin
之前。如不满足,则需根据你系统所使用的shell,将环境变量添加到~/.bashrc
, ~/.zshrc
或~/.profile
中去:
PATH="/usr/local/bin:/usr/local/sbin:$PATH"
启动 PHP-FPM 服务:
bash
brew services start php71
配置 PHP-FPM 随机启动:
bash
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php71/homebrew.mxcl.php71.plist ~/Library/LaunchAgents/
验证 PHP-FPM 服务是否启动成功:
bash
ps aux | grep php-fpm
如存在相关 PHP-FPM 进程,则表明启动成功。
安装 Nginx
bash
brew install nginx
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 的配置风格保持一致。
建立目录:
bash
sudo mkdir -p /var/www
sudo chown root:staff /var/www
sudo chmod g+w /var/www
sudo mkdir -p /var/log/nginx
mkdir /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 服务:
bash
sudo brew services start nginx
也可通过sudo brew services restart|stop nginx
命令来重启、停止服务。
验证 Nginx 服务启动是否成功:
bash
echo "Hello, EduSoho!" >> /var/www/index.html
echo "<?php \nphpinfo();" >> /var/www/phpinfo.php
在浏览器中打开http://localhost
,出现Hello, EduSoho!
表示 Nginx 启动成功。 在浏览器中打开http://localhost/phpinfo.php
,出现 PHP 配置相关信息,表示 PHP 配置成功。
如启动失败,可通过查看/var/log/nginx/error.log
日志文件来获得错误信息。
配置Nginx服务随机启动:
bash
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
安装 MySQL
bash
brew install mysql
启动 MySQL 服务:
bash
brew services start mysql
也可通过brew services restart mysql
、brew services stop mysql
命令来重启、停止服务。
Mysql的root
密码默认为空
,可以通过:mysql -uroot
命令进入mysql。
配置 MySQL 服务随机启动:
bash
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
安装 phpMyAdmin
phpMyAdmin 是一款方便易用的 MySql 数据库管理软件。可以在 官网 下载最新版的 phpMyAdmin。
下载后,将 phpMyAdmin 解压到:/var/www/phpmyadmin
目录下,创建配置文件config.inc.php
,内容如下:
php
<?php
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
在打开浏览器打开 http://localhost/phpmyadmin/ ,即可进入 phpMyAdmin。
安装 NodeJS
bash
brew install node
安装 yarn:
bash
npm install -g yarn
配置 NPM、YARN 源为国内源,以大幅提升NPM的安装速度:
bash
npm config set registry https://registry.npm.taobao.org
yarn config set registry https://registry.npm.taobao.org