• 纪念手工搭建wordpress成功


    之前想搞Hexo的时候,看网上有人说自己在主机上搭建WordPress还是比较考验动手能力的。是一个比较有挑战性的任务。那时候也尝试过一会,可能是因为看的教程不是特别好的缘故,所以失败了。今天花了一天的时间断断续续终于把想搞的WordPress搞成了,专门写一篇日志来记录下来。

    起因是之前在WordPress.com上也用过托管的wp站点,写过2篇文章,昨天想要编辑一下却发现点了编辑按钮以后页面迟迟加载不出来。正巧自己也有云主机和域名都没有派上用场,所以还是抱着试试看的态度,再来搞一回。

    教程主要来自官方https://wordpress.org/support/article/how-to-install-wordpress/

    不过作为第一次安装的新手只看这个教程恐怕是不够的。我认为wp安装本身已经是无可挑剔了,只不过和它配套的其他软件还是稍微有点多。需要安装数据库MySQL/Maria,Apache,php运行环境,有的教程还会让你装phpmyadmin。一个数据库系统,一个web服务器,一个运行环境,还有数据库的管理工具。确实有3~4个额外的软件要装。可能还需要nginx?这点我没验证,因为我主机上已经装了nginx,回头第二次装的时候可以再验证一下nginx是不是必须的。

    准备工作:

    云主机环境: Debian GNU/Linux 10 (buster)

    上面之前就装了一个nginx,访问主机公网ip就能打开nginx页面,我想我暂时不需要nginx,就把nginx关了。

    nginx -s stop
    nginx -s quit

    验证是否关闭成功,就是再次访问主机的公网ip,显示无法访问才是对的。

    MariaDB数据库的安装、建库并授权:

    WordPress支持MySQL和MariaDB,毕竟它俩本是同根生。这里我选择了MariaDB,原因是新鲜感,语法上应该大差不差的。

    apt install mariadb-server

    安装完成后需要设置一下root用户的密码

    mysqladmin -u root password 123@abc

    然后就可以直接在终端里登录mariadb(目的就是建个库,建个用户,授权一下,我认为暂时没必要装phpmyadmin)参考https://wordpress.org/support/article/creating-database-for-wordpress/

    mysql -u root -p

    登录后执行下面语句就可以创建一个名叫mywordpress的数据库

    CREATE DATABASE mywordpress;
    然后用用下面的语句给一个名叫jack的用户授予这个mywordpress数据库的所有权限,用户jack的密码也在这里设置为abc@123
    注意打完第一行就有一个回车
    MariaDB> GRANT ALL PRIVILEGES ON mywordpress.* TO "jack"@"%" 
    -> IDENTIFIED BY "abc@123";
    然后刷新权限,然后退出
    MariaDB> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec) 
    
    MariaDB> EXIT
    退出后用jack登录,查看是否拥有对应的数据库权限
    mysql -u jack -p
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mywordpress        |
    +--------------------+
    2 rows in set (0.000 sec)
    如果能看到mywordpress数据库的话就说明就数据库安装环节已经完成了。
    

    Apache的安装

    apt install apache2

    查看是否安装成功

    apachetl -v

    启动Apache服务

    service httpd start

    或者  /etc/init.d/apache2  start

    然后直接用浏览器访问云主机公网ip能打开Apache2 Debian Default Page就是成功了。

    如果本地能打开,外面打不开可能需要放行一下iptable

    iptables  -P INPUT/OUTPUT/FORWARD  ACCEPT

    最后记住Apache默认目录位于

    /var/www/html

    php环境安装

    apt install php

    apt install php-mysql

    上面的第一行是安装php环境,如果不装,后面WordPress安装的时候会提示没有php环境。

    第二行是安装php的mysql插件,如果不装,后面WordPress安装的时候会提示没有php的mysql插件。提示如下

    Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

    装好以后需要重启Apache服务

    service httpd restart

    一开始我是不知道怎么安装php环境的,我是想偷懒直接装phpmyadmin的我想这个软件安装的过程中一定会把php和php-mysql环境都装好的,然而Debian10的源里没有居然没有包含phpmyadmin,如果是Ubuntu的我觉得可以一试。

    WordPress安装

    最后终于来到本篇文章主角的安装。参考文档:https://wordpress.org/support/article/how-to-install-wordpress/#step-3-set-up-wp-config-php

    拉取WordPress的最新版,然后解压

    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz

    然后把解压后的wordpress文件夹移动到Apache的主目录下

    mv wordpress /var/www/html/

    再重启一下Apache服务我们就可以打开浏览器访问

    http://公网ip/wordpress/wp-admin/install.php

    开始轻松愉快的一键安装了。安装无非就是输入一下之前在数据库里创建的数据库名称mywordpress,数据库用户名是jack,密码abc@123,数据库地址是localhost,最后一项默认就可以了。

    然后点击提交。这个时候就遇到了最后一个问题:

    WordPress抱歉,我不能写入wp-config.php文件

    Unable to write to wp-config.php file.

    You can create the wp-config.php file manually and paste the following text into it.

    网上搜到的解决方案大多都是手工吧那段代码复制,然后手工建一个wp-config.php文件到wordpress所在主目录,还说要要注意在文件最后添加 ?>

    我看了以后,就是不想弄。wordpress这么优雅的安装,最后临门一脚你非得整一个手工编辑php配置文件。这让我感觉味道不对。后来在Stack Overflow搜到了解决方案:

    For nginx users, the default user is www-data, so we need to grant write permissions to the www-data user:

    chown -R www-data wordpress

    改一下给www-datra用户改一下wordpress主目录的权限,看起来还是和nginx有关系的。

    然后再次打开http://公网ip/wordpress/wp-admin/install.php 这个安装页面再输入一边数据库配置信息提交就大功告成了。最后可以进到wordpress目录下面去看wp-config.php这个文本文件最后到底有没有?>

    因为我不懂世界上最好的语言,我只是推测现在的版本有没有 ?>都无关紧要了吧。

    然后wordpress就开始然你输入属于wordpress的新建用户信息了,开启属于自己的wp博客旅程。

  • 相关阅读:
    微信小程序跳转传参参数丢失?
    微信小程序订阅消息,我踩过的坑都在这里了!
    CSS 了解一下
    简单地认识一下 HTML
    我和前端的猿粪,了解一下我眼中的前端。
    微信小程序如何发送订阅消息,正确姿势来了,建议收藏!
    微信小程序新服务消息推送 —— 订阅消息
    微信小程序 wxml 文件中如何让多余文本省略号显示?
    如何制作国旗头像,微信小程序利用 canvas 绘制挂件头像
    Vue组件中的Data为什么是函数。
  • 原文地址:https://www.cnblogs.com/ligongzi/p/16175817.html
Copyright © 2020-2023  润新知