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

因为经常给服务器装机(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).