当你的wordpress遇到以下问题时:
1、不能上传图片
2、不能自动安装主题、插件(需要FTP账户)
3、不能自动更新
4、其它任何需要wordpress写文件的问题
这些问题基本都是一个原因,你的wordpress目录不属于当前的用户和组,即web访问的用户没有权限操作wp的一切需要写权限的操作。

解决方法
首先需要你有root权限,SSH登录,进入到wp的安装目录:
cd /var/www/html/my_wp_blog
给予所有的写权限:
chmod 777 wp-content
接下来给你的博客的文章上传一张图片,WP会生成一个目录,然后查看是哪个用户创建了文件夹。一般情况下,这个用户名叫“apache”,也有不少人发现这个用户是“nobody”.
进入到wp的wp-content目录,查看该目录下所有文件/文件夹的权限,所属用户、用户组:
cd wp-content
ls -l

total 16
-rw-r–r– 1 root root   30 May  4  2007 index.php
drwxr-xr-x 3 root root 4096 Feb 10 19:31 plugins
drwxr-xr-x 5 root root 4096 Mar 23 03:04 themes
drwxrwxrwx 3 www www 4096 Mar 24 02:08 uploads
注意上传目录 uploads 是用户 www 创建的。
接下来把wp-content权限还原到 755::
cd ..
chmod 755 wp-content

下来就是实际修复的命令了,改变wp所在文件夹的拥有者为刚找到的这个用户www:
cd ..
chown -R www:www my_wp_blog

OK,问题解决了。

20. 三月 2012 · Write a comment · Categories: 建站相关 · Tags:

备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –-databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构
mysqldump –-no-data –-databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库
mysqldump –-all-databases > allbackupfile.sql

还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

To use it create a .htaccess file with any text editor, under windows create a file named htaccess and renamed it later in the server by adding the ‘.’ character in front of it. Copy the following contents replacing domain_1.com, domain_2.com, folder_1 and folder_2 with what you need, and finally place the file at the root of your server. That’s all, I hope I didn’t miss a thing.


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# —————————————
# BEGIN Domain to folder mapping

# pointing domain_1.com to folder_1
ReWriteCond %{HTTP_HOST} domain_1.com
ReWriteCond %{REQUEST_URI} !folder_1/
ReWriteRule ^(.*)$ folder_1/$1 [L]

# pointing domain_2.com to folder_2
ReWriteCond %{HTTP_HOST} domain_2.com
ReWriteCond %{REQUEST_URI} !folder_2/
ReWriteRule ^(.*)$ folder_2/$1 [L]

# END Domain to folder mapping
# —————————————

# —————————————
# BEGIN WordPress

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress
# —————————————

# —————————————
# BEGIN htaccess pretection

<Files .htaccess>
order allow,deny
deny from all
</Files>

# END htaccess pretection
# —————————————

</IfModule>