2016/06/07

一次啊里云服务器配置


基本流程

0.挂载数据盘

1.apt-get update

2.更改root密码 大小写字母+数字+特殊符号

3.新建用户,使用ssh key进行登录,禁止直接密码登录

4.禁止使用ssh登录root

5.更改ssh默认端口

6.配置防火墙 ufw

7.搭建lnmp

8.关闭lnmp, 修改/etc/my.cnf, 把 mysql 目录 重写指向 到 数据盘, 重启 lnmp

9.添加vhost www.localhost.com, 用于将默认配置的 探针, phpmyadmin, ftp 服务移至 其他目录, 并将默认目录 /home/wwwroot/default 改名使其失效

10.修改上传文件大小,上传超时,bug fix php pathinfo

11.安装ftp

12.更改ftp端口, 重启 /etc/init.d/pureftpd restart

13.通过 ufw 开放以上所需要用到的端口

服务器 web站点 目录结构是:

/data/
    software/       #存放第三方软件包
        lnmp        #下载 lnmp 软件包
    mysql/          #mysql数据库文件
        data        #mysql数据
        logs        #mysql二进制日志
    www/            #存放web站点
        myweb       #我的站点
        phpmyadmin  #phpmyadmin
        ftp         #ftp
        probe       #探针

新建用户

新增用户 test, 用户主目录 /home/test, 该用户的登录Shell是 /bin/bash

useradd -s /bin/bash -d /home/test -m test

给与用户添加 sudo 权限

vi /etc/group
在 sudo:x:27: 后面添加用户
sudo:x:27:test

更改用户密码 passwd test

切换新用户,配置用户 ssh

su test
cd
mkdir .ssh
chmod -R 700 .ssh

将生成好的 ssh key 写入 .ssh/authorized_keys 文件中

vi .ssh/authorized_keys #粘贴你的公钥key
chmod 600 .ssh/authorized_keys

登录测试


ssh配置

1.禁止使用ssh登录root

修改 /etc/ssh/sshd_config 将属性 PermitRootLogin 改为 no

2.只允许公钥登录

出于安全考虑,我们需要禁止口令登录,只允许公钥登录。我们在远程主机中,配置 sshd_config, 将 PasswordAuthentication 设置成 no

vi /etc/ssh/sshd_config
PasswordAuthentication no

3.修改ssh端口

将 ssh 端口 改为 40022

vi /etc/ssh/sshd_config
Port 40022
重启 ssh

配置防火墙 ufw

推荐设置

ufw enable #开启了防火墙并随系统启动

ufw default deny #关闭所有外部对本机的访问(本机访问外部正常)

这样设置已经很安全,如果有特殊需要,可以使用 sudo ufw allow 开启相应服务。如

ufw allow 40022 #允许外部访问 40022 端口

ufw delete allow 40022 #禁止外部访问 40022 端口

搭建lnmp

前往 https://lnmp.org/ 下载最新安装包并进行安装, 下载 安装包 到 /data/software/lnmp 目录下。根据官网 安装 lnmp 和 ftp。

LNMP一键安装包默认的上传大小是50MB,在上传大于client_max_body_size的值时会出现无法上传。

1、修改/usr/local/nginx/conf/nginx.conf 文件,查找 client_max_body_size 将后面的值设置为你想设置的值。

2、修改/usr/local/php/etc/php.ini 文件,查找 post_max_size 和 upload_max_filesize 将后面的值设置为你想设置的大小。

修改完执行/root/lnmp restart,重启完毕即可。

php cgi 默认对 pathinfo 支持是不完全的。 有可能会导致 nignx 运行PHP $_SERVER['PHP_SELF'] 为空。修复方法是设置 php.ini cgi.fix_pathinfo=1