大猫 (Madao) - まるでダメなおっさん

Tag Archives

3 Articles

如何用 SSH 搬家 (plesk cpanel 互搞)

by bigCat 31 Comments

一般玩 WordPress 的要清楚一些概念

WordPress 包含

1.是官网下载过来的压缩包解压缩出来的一堆 PHP 文件

2.是用户上传的文件一般在 wp-content/upload/ 里

3.是插件、主题在 wp-content/themes/ wp-content/plugins/ 目录里

4.是用户产生的文字啊配置啊在 MYSQL 数据库里

MYSQL 数据库和 FTP 上去所看到的一堆文件(程序,上传的文件,主题,插件等)是分开的

而 WordPress 通过 wp-config.php 来连接 PHP 和 MYSQL 实现你产生的数据保存到数据库,以及从数据库里取出文章留言什么的给你看

所以我们备份的时候需要备份2个部分

1. 硬盘里自己目录下的所有文件 (程序,上传的文件,主题,插件等)

2. 数据库

一般备份的步骤如下

1.导出数据库到自己的目录下(这样他们就融为一体了)

2.打包整个目录(包含导出的数据库以及其他所有文件)

3.登录新的服务器,并获取压缩包,然后解压缩

4.把解压缩出来的数据库文件导入新服务器的 MYSQL 数据库里

5.修改wp-config.php 把数据库链接信息修改为新的服务器上的数据库信息

那么我们就开始吧

今天的例子是 Plesk 到 CPanel ,当然你也可以举一反三俗 P2C C2C P2C C2C 什么的
(一般P2P或C2C都有他们自己搬家工具,不用这么折腾,除非耍帅)

关于 MYSQL 数据库

1.数据库名 例子:bigcat_db

2.数据库用户名 例子:bigcat

3.数据库密码 例子:12345

具备这仨就可以搞定数据库了

关于 Plesk

用户home目录,简单说 FTP 登录上去看到的那一堆里有个叫 httpdocs 的,就是对应网站,例子:ooxx.me 的根目录
httpdocs/av.png 文件对应的URL就是 http://ooxx.me/av.png

关于 CPanel

用户home目录,简单说 FTP 登录上去看到的那一堆里有个叫 public_html 的,就是对应网站,例子:ooxx.me 的根目录
public_html/av.png 文件对应的URL就是 http://ooxx.me/av.png

综上所忽悠,我们需要做的是

1.导出数据库在 httpdocs 目录里 打包整个目录

2.把压缩包整到public_html目录里解压缩导入数据库

下面是每一步的截图(可能没有图)

登录老服务器

用终端(MAC/Linux

ssh bigcat@ooxx.me
注意:linux 输密码不显示星号避免暴露位数,请自重,打完回车即可

客户端 SecureCRT (windows)

SSH服务器地址ooxx.me

端口:22

用户名bigcat

登录成功会提示
bash-3.2$
确认下我在哪里就输入
pwd
会提示
/var/www/vhosts/ooxx.me
要看看当前目录有什么文件就输入
ls -la
会在一堆列表里看到有httpdocs
那么我们就进入这个目录,输入
cd httpdocs
再 pwd 一下,提示
/var/www/vhosts/ooxx.me/httpdocs
果然已经进入了
继续
ls -la
可以看到出来的一堆,就是FTP里上传的所有文件了

OK,这会儿要导出数据库
输入
mysqldump -u bigcat -p bigcat_db > ooxx.sql
回车输入数据库密码
如没啥提示就是导出成功了
ls -la
一下应该能看到多出来的 ooxx.sql 文件,即我们导出的数据库

接下去我们要打包
输入
tar -czf ooxx.tar.gz * .[!.]*
如果你没有.开头的文件例如 .htaccess
可能会提示
tar: .[!]*: Cannot stat: No such file or directory
不用管就是
这会儿
ls -la
一下应该可以找到 ooxx.tar.gz 这个压缩包了

老服务器就到此为止了
接下去登录新服务器
新建一个ssh链接
用新服务器的SSH帐号登录
登录后
cd public_html
切换目录从用户home目录到网站根目录
获取老服务器的文件
wget http://ooxx.me/ooxx.tar.gz
会有个拉轰的文本进度条,速度一般都是MB/s
解压缩
tar -xzf ooxx.tar.gz
导入数据库
mysql -u bigcat -p bigcat_db < ooxx.sql
注意:是新服务器的数据库信息,没有的话去 CPanel 里新建一个
没啥提示就是成功了
再注意:如果新老数据库信息不一致,需要更新 wp-config.php

尾声
安全问题,请删除导出的数据库文件 ooxx.sql 和 ooxx.tar.gz
删除是 rm 文件名
例如
rm ooxx*
因为 wp-config.php 里的密码是明文的
提醒:这种明文密码建议千万别和自己其他密码一样

一般这会儿就可以去域名商网站更改 A Record 为新服务器的 IP,等生效后即可
不一般的同学会先配 HOST 看看,确保没问题了再改域名IP
那 HOST 是个什么东西我就下次写了

有啥看不懂的请留言,我更新
搬家 DIY 的好处是一来速度快,二来命令行耍帅

文中涉及一些命令可以参考 SSH 入门教程(常用命令)

为何WordPress需要连接信息

by bigCat 25 Comments

连接信息

执行请求操作,连接信息必需提供

这个界面只会出现在系统把apache进程不是以用户身份来运行的主机上
目的只有一个,安全
问题有好几个,这样子用apache创建的文件就不属于用户,那么没有写权限的话,用户就没法删除,只能用apache来删除

遇到这个问题的同学可以看一下这篇
如何删除ftp或ssh无法删除的文件

The following code is from the get_filesystem_method() method in the wp-admin/includes/file.php file:
if( function_exists('getmyuid') && function_exists('fileowner') ){
$temp_file = wp_tempnam();
if ( getmyuid() == fileowner($temp_file) )
$method = 'direct';
unlink($temp_file);
}

wordpress会创建一个临时文件看看owner是不是和当前运行的php比如plugin-install.php一样
如果不一样,那么会出现如图的使用ftp来搞定

怕麻烦的话修改下wp-config.php,加入
// ** FTP SETTINGS FOR AUTO-UPDATE ** //
define('FTP_HOST', 'localhost');
define('FTP_USER', 'ftp帐号');
define('FTP_PASS', 'ftp密码');

之后就不会提示了

PS: 最近后台自动升级连接不到服务器或复制文件出错是因为我那个脚本限制连接数自动屏蔽IP造成的,已经调整过,如果还有问题请联系我,谢谢

突破MT-DV里plesk30个域名限制

by bigCat 42 Comments

plesk
看配图就知道又是一篇无聊的技术文章

因为购买的mediaTemple (DV) 配套的plesk后台只能免费捆绑30个主域名,十五个人用起来还是有点不爽的
今天偶就来教大家怎么突破域名限制

需要
1.root权限(ssh上去后,输入su – 输入超级无敌霹雳密码开启root)
2.vi的基本操作

材料
域名1.  正常在plesk里捆绑的域名caitou.com,和plesk建立的子域名he.caitou.com
域名2. 测试用的6bug.com

我们的故事就从这里开始
建立caitou.com的二级域名比如he.caitou.com
因为在dv套餐里的二级域名和主域名是分开的,并且PHP FTP什么的权限都是单独控制的

主域名根目录为
/var/www/vhosts/caitou.com/httpdocs/
二级域名he.caitou.com的根目录为
/var/www/vhosts/caitou.com/subdomains/he/httpdocs/

所以我们可以利用这点,把6bug.com捆绑到子域名的目录,实现自定义的域名捆绑

于是偶跑过去修改apache配置文件httpd.conf 建立别名
但是…设置后无效…因为apache的配置被plesk劫持过去鸟
顺藤摸瓜,咱可以修改plesk的配置文件
/var/www/vhosts/caitou.com/conf/httpd.include

好的,我们输入vi httpd.include开始vi这个文件
查找那个建立的二级域名,输入 /he.caitou.com 回车 (斜杠是查找)
如题图,光标会定位在对应位置,输入o进入编辑模式并自动另起一行
输入ServerAlias  6bug.com 建立别名
按esc进入命令模式输入:wq保存退出

输入
/etc/init.d/httpd restart 重启apache

这样访问6bug.com的时候会自动访问he.caitou.com的文件

注意点:

  1. 编辑httpd.include的时候会受到恐吓,不用鸟他
  2. 在后台修改配置后对应的httpd.include会被重写,导致自定义配置丢失,所以设置好注意备份cp httpd.include httpd.include.bak