MAHU各应用更改所属用户名群组

在前面几篇中所有应用启动的用户名群组都是采用默认方式,Ubuntu平台默认对这些应用启动的用户名一律是www-data:www-data。现在为了安全起见或者强迫症使然,我决定全部改成www:www来启动(请注意我这里修改后的还是举例:-))。
mahu,cluf专用
先说下apache2,它的用户名设置在/etc/apache2/envvars中,将其中如下两行

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

修改成

export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www

然后来说下HHVM,它的用户名藏在/etc/default/hhvm,直接修改成

RUN_AS_USER="www"
RUN_AS_GROUP="www"

再说下MySQL,它其实可以使用任何用户名来启动,修改/etc/my.cnf

[mysqld]
user=www

有一点需要注意的是,修改数据文件的用户名与群组:

chown -R user_name /path/to/mysql/datadir

否则启动完之后数据库可能因为权限问题变成空的了。数据库的启动我一般不去动它,只是将数据库登录的用户名密码进行强化。

最后,改完用户密码后,要对网站目录做相应的改变,正如前面安装wordpress所做的属主更改,这次只要一条命令记得:

sudo chown -R www:www /var/www/html

这些关键动作完成之后,注意记得重启所有进程

sudo systemctl restart mysql hhvm apache2

祝愿你的服务器如铜墙铁壁一样安全!

使用Let’s Encrypt证书开启HTTPS

HTTPS将最终覆盖所有网站。它的好处很多,再加上如今有Let’s Encrypt这样的免费全球有效的证书,所有个人网站我都建议将HTTPS用起来。
启用的步骤不复杂,如果你已经看过我的前两篇文章,接下来来五步即可搞定,同时启用http强制跳转到https。
1.证书获取
Let’s Encrypt证书,免费,90天有效,一条命名就可以完成更新。如下为获取步骤。
在Ubuntu系统上安装cerbot

1
2
3
4
5
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot

生成你的网站证书,下面例子中是我的,请一定记得改成你的域名。

$ sudo certbot certonly --webroot -w /var/www/html -d cluf.com -d www.cluf.com

完成之后,会提示你证书的位置在哪里,下次只需要执行sudo certbot renew就能自动更新。

2. Apache2启用SSL模块
命令如下,执行完会提示怎么生效,我们可以在下面所有配置完成后重启apache2来一同生效。

$sudo a2enmod ssl

3. 修改default-ssl.conf文件
添加或者修改配置,sudo vi /etc/apache2/sites-available/default-ssl.conf

1
2
3
4
5
6
7
8
9
ServerName cluf.com:443
DocumentRoot /var/www/html
<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile      /etc/letsencrypt/live/cluf.com/fullchain.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/cluf.com/privkey.pem

4. 修改000-default.conf启用强制跳转
sudo vi /etc/apache2/sites-available/000-default.conf,之间任意位置添加如下代码,此步和永久链接一样用到了rewrite模块。

1
2
3
RewriteEngine on
RewriteCond  %{HTTPS} !=on
RewriteRule  ^(.*) https://%{SERVER_NAME}$1 [L,R]

5. 重启Apache2,生效所有配置

sudo systemctl restart apache2

好了,恭喜你,你的网站已经更加安全了,理论上说,客户端与你的服务器之间的数据不会被第三方窃取啦。

声明:本文所有知识均来自于互联网,博主只是加以理解整理而成,欢迎交流!