Centos7下将域名指向子目录

[begin]本[/begin]来我把我的网站直接放在了根目录/var/www/html下,但是为了方便管理,就新建了一个目录wordpress,把网站放在了子目录下,但是这样的话首先我得改我网站上所有的链接(吐血),其次我输入完域名之后得加上后缀/wordpress,否则就会显示apache的界面。

这不行啊,所以就决定让域名直接解析到/var/www/html/wordpress,网上查阅资料后终于弄好了,现在记录下来

编辑/etc/httpd/conf/httpd.conf,在最后加上以下内容:


    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted


NameVirtualHost *:80

addDefaultCharset gbk
DocumentRoot /var/www/html/wordpress/
ServerName winny.work
ServerAlias *.winny.work
ErrorLog logs/winny.work-error_log
CustomLog logs/winny.work-access_log common

然后重启apache服务

service httpd restart

再次访问域名,就成功啦

修改wordpress数据库表前缀wp_

出于安全考虑,我想把wordpress默认的表前缀wp_改了,在这过程中遇到许多问题,经过一番谷歌搜索递归学习终于弄好了,记录下来

假设旧前缀为wp_,新前缀为sss_

进入wordpress所在数据库,查看都有哪些表

show tabels;

将数据库中所有的表前缀都改掉
例如:

RENAME table `wp_commentmeta` TO `sss_commentmeta`;

然后改完之后我发现我上不去我的网站了,后来发现我没有改wp-config.php

修改wp-config.php文件中的数据表前缀

$table_prefix  = 'wp_'; #将wp_改为sss_

好了,终于可以登上我的网站了,然后。。。。

我发现我可以登录,但是不能登录后台。

我去!好吧,开始谷歌

发现光改表前缀还不行,还要改几个字段的前缀

SELECT REPLACE(option_name, 'wp_', 'sss_') FROM sss_options;
SELECT REPLACE(meta_key, 'wp_', 'sss_') FROM sss_usermeta;

改完了发现还是不行,于是接着谷歌,发现表sss_options里面有个wp_user_roles要改为sss_user_roles。

然后问题来了,我不知道sql语句怎么写。。。

好吧只能拿phpmyadmin改了,下载安装phpmyadmin,下载好了之后需要修改配置

sudo vim /etc/httpd/conf.d/phpMyAdmin.conf

把带有Require ip xxxx字样的代码注释掉,然后添加Require all granted
编辑后如下:


   AddDefaultCharset UTF-8
   
     # Apache 2.4
     
      # Require ip 127.0.0.1  #注释掉
      # Require ip ::1   #注释掉
      Require all granted   #新添加
     
 
 
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   


   
     # Apache 2.4
     
      #Require ip 127.0.0.1  #注释掉
      #Require ip ::1   #注释掉
      Require all granted   #新添加
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

登陆ip/phpmyadmin,登陆数据库傻瓜操作,修改完成。现在网站后台已经可以正常登陆了。

我的问题到这里就已经解决,再补充几个网上找的:

  1. ooxx_usermeta:把里面的 wp_capabilities, wp_user_level, wp_user-settings, wp_user-settings-time, and wp_dashboard_quick_press_last_post_id 字段名的 wp_ 全部改为 ooxx_
  2. 另外确保 ooxx_usermeta 表里面的 ooxx_capabilities 和 ooxx_user_level 的值如下
    ooxx_capabilities should be a:1:{s:13:”administrator”;s:1:”1″;}
    ooxx_user_level should be 10

Centos7搭建wordpress遇到的问题(持续更新)

本来是在树莓派上搭了wordpress,可是由于家里网络环境太不稳定,而且公网ip一直在变,所以就买了阿里云的服务器,先搭个站再说。系统是CentOS7,不是Raspbian,所以还是遇到了一些以前没遇到过的问题。记录下来。

0x00:搭建wordpress

安装LAMP及wordpress具体流程参照《CentOS7.4搭建LAMP环境安装WordPress详细图解》,但是我mysql的安装参照了《Linux(CentOS 7)环境下安装MySQL》,php我先安装了php5,系统提示我让我升级php,说我不安全,然后我又安装了php7,参照《CentOS7采用yum方式安装PHP7》。(虽然后来系统还是提醒我不安全。。。很迷)

0x01:wordpress更新失败

安装完毕后在更新wordpress的时候,系统提示我需要ftp服务器密码,解决办法如下:
找到wp-config.php

vim wp-config.php #编辑wp-config.php

在最后添加如下代码:

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

然后给wordpress所在的目录设最高权限(我的是html/)

chmod -R 777 html/

最后重启apache服务

systemctl restart httpd.service

更新问题得到解决!

0x02:最大上传限制

想上传一张背景图,结果系统提示我超过最大上传限制,我一看限制2MB,你这是在逗我?所以修改一下php.ini。注意这个php.ini不在wordpress所在的文件夹里,要找到文件的位置,你可以在wordpress目录下新建一个info.php

vim info.php

在里面输入:

<?php phpinfo();?>

然后在浏览器中打开(你的ip)/info.php 就会出现

file

找到php.ini的位置,进行修改

修改php.ini中如下参数为你想要的值

post_max_size=64M
upload_max_filesize=40M
mamory_limit=128M

由于php.ini里东西很多,所以我们可以在vim里直接查找,按/就可以输入你想找的单词,按回车即可查找。例如:

/post_max_size

(vim具体查找命令请自行搜索)

然后重启,就可以解决了。

0x03本地localhost搬家导致wordpress无法连接

我们需要修改mysql设置。假设搬家前的地址为www.a.com,搬家后为www.b.com

首先进入mysql

mysql -u root -p

输入密码

成功进入mysql后再进入wordpress的数据库

use wordpress;    //你设置的wordpress的数据库

然后输入以下指令:

UPDATE wp_options SET option_value = replace(option_value,'www.a.com','www.b.com') WHERE option_name = 'home' OR option_name='siteurl';
UPDATE wp_posts SET post_content = REPLACE(post_content, 'www.a.com','www.b.com');
UPDATE wp_posts SET guid = REPLACE(guid, 'www.a.com','www.b.com');

这样我们就能用新地址访问wordpress了