配置问题
使用ubuntu16.04,发现php5不怎么能用~网页打开直接是php文件内容,没有解析php文件,查看后发现:
- ubuntu16.04已经选择PHP7.0作为新的基础包了,所以不能在Ubuntu16.04上安装PHP5,如果硬要安装,则会出现依赖问题,而且一般无法解决:
- 比如,Ubuntu16.04上的软件需要的是一个较高版本的库,而PHP5需要的是一个较低版本的库,系统会提示:libapache2-mod-php5依赖于某某库,但该库不能被安装。因为php5基于较低版本的库文件,如果安装的话又有其他软件将不能运行;
- 故,推荐安装PHP7.0,并且用“libapache2-mod-php”代替“libapache2-mod-php5”。
换言之,就是
-
安装apache2、mysql、PHP
sudo apt-get install apache2 sudo apt-get install mysql-server sudo apt-get install libapache2-mod-php sudo apt-get install php-mysql sudo apt-get install php-mbstring sudo apt-get install php7.0-gd
apt-get的东西我会按照需要慢慢加,比如php7.0-gd就是图片裁剪时候会用到,不然会error
- 假设你对mysql有一些熟悉,现在知道了用户名root和密码password。现在为你的wordpress创立一个数据库,假设数据库名叫xyz
sudo mysql -u root -p Enter Password: ... mysq> CREATE DATABASE xyz; mysql> \q
- 下载wordpress、phpMyAdmin
到官网将最新的wordpress压缩包下载(wget),然后解压到
/var/www/
目录(应该要使用su权限) 到官网将最新的phpMyAdmin压缩包下载(wget),然后解压到/var/www/
目录(同上) - 给wordpress文件夹换个名字,如你的域名,假如叫xyz
- 将apache2目录改到你的xyz目录
sudo vi /etc/apache2/sites-available/000-default.conf
然后修改
DocumentRoot /var/www/html
为DocumentRoot /var/www/xyz
- 给xyz目录增加uploads文件夹并给予www-data权限
sudo mkdir -p /var/www/xyz/wp-content/uploads sudo chown -R www-data.www-data /var/www/xyz sudo chmod -R 755 /var/www/xyz sudo chown -R :www-data /var/www/xyz/wp-content/uploads
- wordpress配置文件
cd /var/www/xyz sudo cp wp-config-sample.php wp-config.php
然后修改
wp-config.php
文件define('DB_NAME', 'xyz');xyz改成你的mysql中对应数据库名 define('DB_USER', 'root');root改成你的mysql用户名 define('DB_PASSWORD', 'password');password改成你的mysql密码
- 我选择使用12345端口来打开phpMyAdmin,所以在000-defalut.conf下增加
ServerAdmin xxx@yyy.zzz DocumentRoot /var/www/phpMyAdmin ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
这样子的话,假如你的网址是www.xyz.com,那么使用
www.xyz.com:12345
就可以进入phpMyAdmin管理界面,但是我不知道会不会有什么安全问题 然后保存文件退出 - 增加端口监听
sudo vi /etc/apache2/ports.conf
增加一行
listen 12345
保存退出 重启apache2
sudo apache2ctl restart
- 尝试访问你的服务器www.xyz.com和www.xyz.com:12345
- 如果不想使用上面这种方式访问数据库,也可以使用MySQLworkbench在远程登录:
- 首先在终端登录数据库
mysql -uroot -p
,创建一个用户名username、密码为password的、只能查看xyz数据库的可以用于远程登录的账户:grant all PRIVILEGES on xyz.* to username@'%' identified by 'password';
执行下列MySQL语句,应该就能看到
host=%|user=username
的一个表格,%表示可以从任何IP登录:use mysql; select host, user from user;
- 刷新MySQL,使得配置生效:
flush privileges;
- 上面仅仅是说MySQL同意你用username用户从远程登录,但是可能MySQL监听3306端口的时候仅仅监听127.0.0.1:3306。可以通过
netstat -an | grep 3306
查看端口监听情况,如果3306端口前面是127.0.0.1,那么会导致远程连接的时候出现不能连接(代码61)的错误,这时候需要修改bind-address
: - 首先打开
/etc/mysql/my.cnf
发现并没有bind-address
一项,但是有两项如下:!includedir /etc/mysql/conf.d !includedir /etc/mysql/mysql.conf.d
那就只好在这两个文件夹下继续查找,最后找到目标文件在
/etc/mysql/mysql.conf.d
,修改其bind-address=127.0.0.1
为bind-address=0.0.0.0
- 最后重启MySQL
sudo systemctl restart mysql.service
- 用MySQLworkbench登录成功。
- 首先在终端登录数据库
- 还有一些其他问题修改固定连接和禁止访问文件夹
- 安装一些好用的插件如下:
Add From Server Custom Meta Widget Enlighter - Customizable Syntax Highlighter Featured Image From URL Markdown Shortcode Useso take over Google WP Super Cache WP User Avatars
- 使用
Markdown Shortcode
加入Markdown语法的支持; - 使用
Enlighter - Customizable Syntax Highlighter
对代码进行高亮 - 另有链接加入数学公式支持
- 使用