常用快速安装/转移服务器命令

因为经常给服务器装机(VPS、实体服务器等),所以用久了自然就有一套流程解决这个,当然咱能力并没那么高写不出什么自运行bash啥的,有兴趣请自己写。
还有就是因为基本都是研究用途的服务器所以默认装机时全root权限(登录用户为root),就不要吐槽什么连用户都不添加权限都不设置的安全问题了。
另外我习惯用vim,新手可以自行修改成nano或者vi。

 

基本组件


//安装
apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server php5-mcrypt php5-curl php5-gd apache2-suexec-custom phpmyadmin vim vsftpd
//重启apache2
/etc/init.d/apache2 restart
//开启apache2的rewrite mod,方便以后使用.htaccess文件
a2enmod rewrite

//创建phpmyadmin的网页访问
ln -s /usr/share/phpmyadmin/ /var/www/html

//修改vsftpd设置(根据自己需求修改,默认不修改也可以用)
vim /etc/vsftpd.conf

//设置拒绝访问ftp的用户(列表中的是拒绝访问的,可以在root前添加#来注释(取消)掉root用户的ftp拒绝访问)
vim /etc/ftpusers

//重启vsftpd服务
service vsftpd restart

这样基本上LAMP就算安装完了,对于部分VPS(比如AWS、linode、阿里云等)来说有可能默认没有swap分区,具体可以执行free -m或者swapon -s来查看。如果没有swap可能会导致内存被apache、mysql耗尽之后直接服务崩溃退出的情况。

创建并激活Swap文件

 


//创建一个4GB的空白文件
dd if=/dev/zero of=/swapfile1 bs=1M count=4096
//设置文件权限
chmod 600 /swapfile1
//创建swap文件
mkswap /swapfile1
//激活swap文件
swapon /swapfile1
//检查swap文件是否已经应用上
swapon -s
//备份fstab配置文件
cp /etc/fstab /etc/fstab.mybackup
//添加启动项自动加载swap文件
echo '/swapfile1 swap swap defaults 0 0' >> /etc/fstab
//重启
reboot

这之后理论上应该就能自动应用上swap文件了,WordPress等需要至少2GB的内容,有了Swap之后基本上不担心Wordpress访问量大导致经常挂了。
 

邮件服务

邮件服务比较麻烦,主要是因为用VPS发spam的人实在是太多了,所以各大VPS和邮箱服务等对此都做了限制,比如用sendmail直接向Gmail发邮件是会被拒的,所以需要添加一些验证手段比如opendkim,不过根据我研究这货对于sendmail兼容不好,最后还是使用了postfix+opendkim。
参考:How To Install and Configure DKIM with Postfix on Debian Wheezy
以下用your.site.domain代替域名,请自行更换成自己所持域名,比如我的是bi119aTe5hXk.net。


//安装服务
apt-get install opendkim opendkim-tools postfix
//创建证书保存目录
mkdir -p /etc/opendkim/keys/your.site.domain
//生成证书
opendkim-genkey -D /etc/opendkim/keys/your.site.domain/ -d your.site.domain -s default
//修改归属
chown -R opendkim:opendkim /etc/opendkim/keys/your.site.domain/
//修改权限
chmod 640 /etc/opendkim/keys/your.site.domain/default.private 
chmod 644 /etc/opendkim/keys/your.site.domain/default.txt
//修改opendkim配置(主要注意端口和域名,比如Socket  inet:12301@localhost和Domain your.site.domain)
vim /etc/opendkim.conf
//添加监听端口
echo 'SOCKET="inet:12301@localhost"' >> /etc/default/opendkim
//添加自己域名进信用列表
echo 'your.site.domain' >> /etc/opendkim/TrustedHosts

//创建Key列表
vim /etc/opendkim/KeyTable
(添加以下内容)
default._domainkey.your.site.domain your.site.domain:default:/etc/opendkim/keys/your.site.domain/default.private

//创建签名列表
vim /etc/opendkim/SigningTable
(添加以下内容)
*@your.site.domain default._domainkey.your.site.domain

//修改postfix去使用opendkim
vim /etc/postfix/main.cf
(添加以下内容)
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

//打开公钥文件,将内容添加至域名管理的TXT记录下
cat /etc/opendkim/keys/your.site.domain/default.txt
(你应该会看到类似以下内容)

default._domainkey      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB" )  ; ----- DKIM key default for example.com

(打开你的域名DNS或者CDN控制面板,将v=前(包含引号)开头的内容复制粘贴到DNS管理里。简单说就是在管理面板中新建一个TXT记录,名称为default._domainkey,内容则应该为类似"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB",当然你知道这只是个示例)

//重启服务
service postfix restart
service opendkim restart

这个时候可以试着执行echo “Test mail from postfix” | mail -s “Test Postfix” yourname@gmail.com来测试看是否能正常接收邮件。

其它

SSL并不在本次教程中,主要是因为每个SSL发行商、DNS的配置以及网页环境中针对SSL的处理有所不同,WordPress的话之前我的blog里也说了如果用Cloudflare的SSL需要装第三方插件的,比较麻烦,所以这里就不再重复说了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

:b1 :b2 :b3 :b4 :b5 :b6 more »

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

This site uses Akismet to reduce spam. Learn how your comment data is processed.