ubuntu16.04 wordpress

配置问题

使用ubuntu16.04,发现php5不怎么能用~网页打开直接是php文件内容,没有解析php文件,查看后发现:

  1. ubuntu16.04已经选择PHP7.0作为新的基础包了,所以不能在Ubuntu16.04上安装PHP5,如果硬要安装,则会出现依赖问题,而且一般无法解决:
  2. 比如,Ubuntu16.04上的软件需要的是一个较高版本的库,而PHP5需要的是一个较低版本的库,系统会提示:libapache2-mod-php5依赖于某某库,但该库不能被安装。因为php5基于较低版本的库文件,如果安装的话又有其他软件将不能运行;
  3. 故,推荐安装PHP7.0,并且用“libapache2-mod-php”代替“libapache2-mod-php5”。

换言之,就是

  1. 安装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

  2. 假设你对mysql有一些熟悉,现在知道了用户名root和密码password。现在为你的wordpress创立一个数据库,假设数据库名叫xyz
    sudo mysql -u root -p
    Enter Password:
    ...
    mysq> CREATE DATABASE xyz;
    mysql> \q
    
  3. 下载wordpress、phpMyAdmin 到官网将最新的wordpress压缩包下载(wget),然后解压到/var/www/目录(应该要使用su权限) 到官网将最新的phpMyAdmin压缩包下载(wget),然后解压到/var/www/目录(同上)
  4. 给wordpress文件夹换个名字,如你的域名,假如叫xyz
  5. 将apache2目录改到你的xyz目录
    sudo vi /etc/apache2/sites-available/000-default.conf
    
    然后修改DocumentRoot /var/www/htmlDocumentRoot /var/www/xyz
  6. 给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
    
  7. 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密码
    
  8. 我选择使用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管理界面,但是我不知道会不会有什么安全问题 然后保存文件退出
  9. 增加端口监听
    sudo vi /etc/apache2/ports.conf
    
    增加一行
    listen 12345
    
    保存退出 重启apache2
    sudo apache2ctl restart
    
  10. 尝试访问你的服务器www.xyz.com和www.xyz.com:12345
  11. 如果不想使用上面这种方式访问数据库,也可以使用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.1bind-address=0.0.0.0
    • 最后重启MySQL
      sudo systemctl restart mysql.service
      
    • 用MySQLworkbench登录成功。
  12. 还有一些其他问题修改固定连接禁止访问文件夹
  13. 安装一些好用的插件如下:
    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对代码进行高亮
    • 另有链接加入数学公式支持

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.