购买了一款小型的VPS尝试建站。发现手上的这款迷你型的VPS很对不起网络上的那些大侠们辛苦所制作的一键安装包。
在国外的网站上找到了一种最省资源的一键安装包(Nginx/PHP/MySQL-占用35MB内存),完美实现WORDPRESS环境.
但是发现设置有点麻烦。于是,抓狂了两天总算把VPS安装好。 综合了大侠们的安装介绍,发布出来给跟我同样是新手的你。
说明:该一键包最适于WordPress,可以一键安装WordPress最新版。
首先需要一个干净的Ubuntu VPS/Debian VPS(本人在Debian 5 and Ubuntu 10.04.测试成功)
以下为系统环境安装步骤:
wget http://deak17.googlecode.com/files/setup-debian.sh
bash setup-debian.sh system
bash setup-debian.sh exim4
bash setup-debian.sh nginx
bash setup-debian.sh mysql
bash setup-debian.sh php
bash setup-debian.sh wordpress yourdomain.com (你想安装的WORDPRESS程序的域名或者二级域名)
[比如:bash setup-debian.sh wordpress blog.vpsroll.com或者直接bash setup-debian.sh wordpress vpsroll.com]
如果你安装的时候你的域名是vpsroll.com那么你的文件目录的在系统里面的绝对路径是:/var/www/vpsroll.com
至于Mysql密码的话,可以到root/my.cnf查看密码(我是用FileZilla FTP进入/var/www/vpsroll.com 查看wp-config.php里面就有)。
WordPress安装主题会出现需要连接信息,执行以下命令即可去掉该连接信息:
chmod -R 755 /var/www/vpsroll.com
chown -R www-data /var/www/vpsroll.com
以上的更改属性的目录:每建立一个WORDPRESS网站都得 运行上面的属性修改 关于上传风格或插件之类的或者修改网站的目录文件什么的
可以使用FileZilla FTP来管理。用SSH账号登入。 本人都是使用FileZilla FTP来管理的。也可以在里面设置文件目录属性之类。没必要再
浪费资源去安装FTP 如果你想让你的WORDPRESS博客支持同步新浪微博发布或者TWITTER之类的。那么你得安装cURL组件。
apt-get install php5-curl 然后重启服务器环境重启命令:/etc/init.d/php-cgi restart 就可以支持同步新浪微博发布或者TWITTER之类了.
本人在安装过程的时候发现了一个问题就是,当你创建 两个以上WORDPRESS的时候。这时候域名有一个问题。
比如你同时创建了vpsroll.com或者vpsroll.net的两 个WORDPRESS。这时候当你们绑定了A记录后。
你们的www.vpsroll.com跟www.vpsroll.net会指向Nginx的 安装好的欢迎默认界面。所以你得在服务器里面编辑他们的 /etc/nginx/nginx.conf :
运行命令:
vi /etc/nginx/nginx.conf
然后找到 http {
用键盘上的 i 然后进入编辑(关于vi命令可点此查看)插入以下字符:
server {
listen 80;
server_name www.vpsroll.net;
rewrite ^(.*) http://vpsroll.net$1 permanent;
index index.html index.htm index.php;
root var/www/vpsroll.com; access_log off; }
server { listen 80; server_name www.vpsroll.com;
rewrite ^(.*) http://vpsroll.com$1 permanent;
index index.html index.htm index.php;
root var/www/vpsroll.com; access_log off;
}
然后点esc键,输入 按回车,就会保存退出 接着重启Nginx命令:
sudo /etc/init.d/nginx reload 或者 sudo /etc/init.d/nginx restart
关于上面的:
server_name www.vpsroll.com; (server_name指的是域,名如果你想绑定多个域名指向vpsroll.com的,这边输入就行。
比如:blog.vpsroll.com 空格分开)
index index.html index.htm index.php;(这个index是默认的网页的形式,常见的就是index.html或者index.php之类的)
root var/www/vpsroll.com; (root是你域名所指定的绝对文件目录路径)
或许有的朋友会说VPS下面MYSQL数据库导入的问题。在这边我推荐两个一个是帝国备份王。一个国外BigDump(不过这款有时候会导入错误)
帝国备份王的用法比较复杂点。首先要先把帝国备份王上传到你原先的空间主机上面,然后进入后台管理备份然后下载到本地电脑
记住里面的设置。关于数据库语言的设置都要自己设置成utf8 (WORDPRESS的MYSQL都是UTF8)。包括备份的时候也是这样选择
数据库备份的文件所在目录是在 bdata里面的。下载到本地后用FileZilla FTP上传到你的VPS上面(我的wordpress目录是在var/www/vpsroll.com )
你的习惯了就会很容易上手的。
关于BigDump.导入就很简单了。他就一个文件。打开后修改你的数据库用户名密码。这边的用户名一般如果你最早运行
bash setup-debian.sh wordpress yourdomain.com 会在var/www/目录下面生成 yourdomain.com的目录 你可以去里面查看wp-config.php文件
不过这边有个规律凡是不管你生成了多少个wordpress 站点 MYSQL数据库密码都是一样的。而数据库用户名一般格式是:yourdomain_com
如果是用www.yourdomain.com 那么就是www_yourdomain_com (blog.yourdomain.com就是blog_yourdomain_com)
编辑好BigDump.php文件后 上传到var/www/yourdomain.com 的目录下。顺便上传你备份的.sql格式的数据库
然后网页打开yourdomain.com/bigdump.php 查找到你.sql的数据库命 导入就行了。
那就可以导入了。。
VPS防火墙配置
要保证服务器安全,防火墙是少不了的,用 root 账号执行:
iptables -F
iptables -N FIREWALL
iptables -F FIREWALL
iptables -A INPUT -j FIREWALL
iptables -A FORWARD -j FIREWALL
iptables -A FIREWALL -p tcp -m tcp –dport 993 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 995 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 110 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 143 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 80 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 443 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 465 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 22 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 25 –syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –dport 3306 –syn -j ACCEPT
iptables -A FIREWALL -i lo -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 53 -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 6277 -j ACCEPT
iptables -A FIREWALL -p udp -m udp –sport 24441 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp –syn -j REJECT
iptables -A FIREWALL -p udp -m udp -j REJECT
iptables-save > /etc/firewall-rules
iptables-restore < /etc/firewall-rules
我这里设置的相对宽松一些,22 端口对所有 IP 都开放了,为的是方便管理。 6277、24441 这几个端口是 Razor/Pyzor/DCC/SA 要访问的端口。
执行
iptables -L
可以看到你设定的规则,如果不对,可以用 iptables -F 清空,然后重设。
如果想要开机运行,那么编辑 /etc/network/interfaces,在 iface lo inet loopback 之后加入:
pre-up iptables-restore < /etc/firewall-rules
或者是放在启动脚本里: /etc/init.d/bootmisc.sh
希望大家能够一起来交流和分享您的经验:http://vpsroll.com