imvirt
http://micky.ibh.net/~liske/imvirt.html
virt-what
https://people.redhat.com/~rjones/virt-what/
另外,wsl下执行“lsb_release -a”查看发行版本,会提示:“lsb_release: command not found”
执行命令安装 lsb_release
apt-get install -y lsb-release
希望世间永无欺骗
imvirt
http://micky.ibh.net/~liske/imvirt.html
virt-what
https://people.redhat.com/~rjones/virt-what/
另外,wsl下执行“lsb_release -a”查看发行版本,会提示:“lsb_release: command not found”
执行命令安装 lsb_release
apt-get install -y lsb-release
给网站加了SSL,用的 Let’s Encrypt 。后来看有效期只有90天,官网推荐用 certbot 延期,开始感觉挺麻烦,但看到一篇文章,写的很好,转贴留存一下!
文章出自:https://ksmx.me/letsencrypt-ssl-https/
现在用 Let’s Encrypt。StartSSL 的免费证书有效期是1年,1年后需要手动更换。配置过程还挺麻烦的。
更推荐 Let’s Encrypt,虽然有效期只有3个月,但可以用 certbot 自动续期,完全不受影响。而且 Let’s Encrypt 因为有了 certbot 这样的自动化工具,配置管理起来非常容易。
Let’s Encrypt 证书生成不需要手动进行,官方推荐 certbot 这套自动化工具来实现。3步轻松搞定:
下面的教程运行在 Arch Linux 上,其他操作系统也大同小异。你可以在 certbot 网站上,选择你的 Web Server 和 操作系统,就能看到对应的安装和配置教程。
在 Arch Linux 上,安装很简单:
$ sudo pacman -Syu
$ sudo pacman -S certbot
先创建存放配置文件的文件夹:
$ sudo mkdir /etc/letsencrypt/configs
编辑配置文件:
$ sudo vim /etc/letsencrypt/configs/example.com.conf
把 example.com 替换成自己的域名,配置文件内容:
# 写你的域名和邮箱
domains = example.com
rsa-key-size = 2048
email = your-email@example.com
text = True
# 把下面的路径修改为 example.com 的目录位置
authenticator = webroot
webroot-path = /var/www/example
这里需要解释一下,上面配置文件用了 webroot 的验证方法,这种方法适用于已经有一个 Web Server 运行中的情况。certbot 会自动在 /var/www/example
下面创建一个隐藏文件 .well-known/acme-challenge
,通过请求这个文件来验证 example.com 确实属于你。外网服务器访问 http://www.example.com/.well-known/acme-challenge ,如果访问成功则验证OK。
我们不需要手动创建这个文件,certbot 会根据配置文件自动完成。
一切就绪,我们现在可以运行 certbot 了。
$ sudo certbot -c /etc/letsencrypt/configs/example.com.conf certonly
## 片刻之后,看到下面内容就是成功了
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem.
如果运行顺利,所有服务器所需要的证书就已经生成好了。他们被放在了 /etc/letsencrypt/live/example.com/
下:
$ ls /etc/letsencrypt/live/example.com/
cert.pem #server cert only
privkey.pem #private key
chain.pem #intermediates
fullchain.pem #server cert + intermediates
到这里已经成功一大半了,只需要配置 Nginx 支持刚刚生成的证书。而且这个配置有最佳实践可以参考,访问:Mozilla SSL Configuration Generator,这是 Mozilla 搞得一个 HTTPS 配置文件自动生成器,支持 Apache,Nginx 等多种服务器。按照这个配置文件,选择 Intermediate 的兼容性。这里生成的配置文件是业界最佳实践和结果,让 Nginx 打开了各种增加安全性和性能的参数。
默认配置文件是这样的:
server {
listen 80 default_server;
listen [::]:80 default_server;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;
# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;
resolver <IP DNS resolver>;
....
}
请根据自己的服务配置修改和添加内容,重点只需要关注6行:
server {
listen 443 ssl http2;
....
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/root_ca_cert_plus_intermediates;
resolver <IP DNS resolver>;
....
}
这6行中,部分文件还不存在,逐个说明。
首先是第一行 listen 443 ssl http2;
作用是启用 Nginx 的 ngx_http_v2_module 模块 支持 HTTP2,Nginx 版本需要高于 1.9.5,且编译时需要设置 --with-http_v2_module
。Arch Linux 的 Nginx 安装包中已经编译了这个模块,可以直接使用。如果你的 Linux 发行版本中的 Nginx 并不支持这个模块,可以自行 Google 如何加上。
ssl_certificate
和 ssl_certificate_key
,分别对应 fullchain.pem
和 privkey.pem
,这2个文件是之前就生成好的证书和密钥。
ssl_dhparam
通过下面命令生成:
$ sudo mkdir /etc/nginx/ssl
$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
(可选)ssl_trusted_certificate
需要下载 Let’s Encrypt 的 Root Certificates,不过根据 Nginx 官方文档 所说,ssl_certificate
如果已经包含了 intermediates
就不再需要提供 ssl_trusted_certificate
,这一步可以省略:
$ cd /etc/letsencrypt/live/example.com
$ sudo wget https://letsencrypt.org/certs/isrgrootx1.pem
$ sudo mv isrgrootx1.pem root.pem
$ sudo cat root.pem chain.pem > root_ca_cert_plus_intermediates
resolver
的作用是 “resolve names of upstream servers into addresses”, 在這個配置中,resolver 是用來解析 OCSP 服務器的域名的,建议填写你的 VPS 提供商的 DNS 服务器,例如我的 VPN 在 Linode,DNS服务器填写:
resolver 106.187.90.5 106.187.93.5;
Nginx 配置完成后,重启后,用浏览器测试是否一切正常。
$ sudo systemctl restart nginx
这时候你的站点应该默认强制使用了 HTTPS,并且浏览器地址栏左边会有绿色的小锁:
Let’s Encrypt 证书有效期是3个月,我们可以通过 certbot 来自动化续期。
在 Arch Linux 上,我们通过 systemd 来自动执行证书续期任务。
$ sudo vim /etc/systemd/system/letsencrypt.service
[Unit]
Description=Let's Encrypt renewal
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew --quiet --agree-tos
ExecStartPost=/bin/systemctl reload nginx.service
然后增加一个 systemd timer 来触发这个服务:
$ sudo vim /etc/systemd/system/letsencrypt.timer
[Unit]
Description=Monthly renewal of Let's Encrypt's certificates
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
启用服务,开启 timer:
$ sudo systemctl enable letsencrypt.timer
$ sudo systemctl start letsencrypt.timer
上面两条命令执行完毕后,你可以通过 systemctl list-timers
列出所有 systemd 定时服务。当中可以找到 letsencrypt.timer
并看到运行时间是明天的凌晨12点。
在其他 Linux 发行版本中,可以使用 crontab 来设定定时任务,自行 Google 吧。
Qualys SSL Labs 提供了全面的 SSL 安全性测试,填写你的网站域名,给自己的 HTTPS 配置打个分。
如果你完全按照我上面教程配置,遵循了最佳实践,你应该和我一样得分是 A+
http://vestacp.com/
Vesta,是一个非常简单明了的服务器主机控制面板界。
它速度快,易于使用
安装很简单,界面友好
无需过多配置即可使用
轻形、 快速,资源占用少。
# 当前支持的操作系统:
# RHEL 5, RHEL 6
# CentOS 5, CentOS 6
# Debian 7
# Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.04
多语言界面:英语,法语,德语,荷兰语,挪威语,芬兰语,瑞典语,西班牙语,葡萄牙语,意大利语,希腊语,中国,台湾普通话,印度尼西亚,罗马尼亚,波黑,捷克,匈牙利,乌克兰,俄语,土耳其语,阿拉伯语
安装 Vesta 控制面板
1. Root用户登录 SSH
ssh root@your.server-name
2. 下载安装脚本
curl -O http://vestacp.com/pub/vst-install.sh
3. 运行脚本
sh vst-install.sh
卸载 Vesta 控制面板
1. 停止 vesta 服务
service vesta stop
2. 移除 vesta 软件包和软件资源库
RHEL/CentOS:
yum remove vesta*
rm -f /etc/yum.repos.d/vesta.repo
Debian/Ubuntu:
apt-get remove vesta*
rm -f /etc/apt/sources.list.d/vesta.list
3. 删除数据文件夹
rm -rf /usr/local/vesta
你也可以考虑删除管理员用户帐户和其 cron 作业。
/thirdparty/phpMyAdmin/
File not found.
yum install kloxomr-thirdparty-phpmyadmin
安装 Kloxo-MR 7.0.0.b 后发现在面板中点击
Url地址 – /thirdparty/phpMyAdmin/
File not found.
打开后找不到文件:
之后在服务组件中也看不到有phpMyAdmin 的信息。
sftp上服务器上的 Kloxo下也确实没有. 也许thirdparty就是要自己装把, 那么就装吧.
如下:
yum list kloxomr-thirdparty*
| 列出以 kloxomr-thirdparty 打头 记得后面有个星号.
kloxomr-thirdparty-phpmyadmin kloxomr-thirdparty-jcterm kloxomr-thirdparty-sshterm-applet
,找到全部的kloxomr第三方插件, 然后安装 phpMyAdmin
yum install kloxomr-thirdparty-phpmyadmin
如此,已经OK!
很多VPS安装完成后,过了很久才发现时间不准这个问题。有些是由于本身就没有调整好准确的时间,而有些则是因为时差问题导致连日期都有错误。本文将讲解ntpdate这一网络自动校时工具的安装与使用方法。
其实Linux中有个ntp包可以自动校准时间,并且非常好用。
Debian系统安装NTP校时包:
1 |
apt-get install ntpdate |
CentOS系统安装NTP校时包:
1 |
yum install ntp |
校时命令:
1 |
ntpdate cn.pool.ntp.org |
如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:
1 |
00 12 * * * /sbin/ntpdate cn.pool.ntp.org |
* cn.pool.ntp.org是ntp网络授时组织的中国授时源
————-
如果出现ntpdate: step-systime: Operation not permitted,说明vps不允许修改时间,可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
附 OpenVZ VPS不能修改时间的母鸡解决办法
因为系统架构的原因,OpenVZ的linux vps默认是不允许在客户在vps自行修改系统时间,当执行修改时间的操作时,会出错
[root@root ~]# date -s 10:22:33
date: cannot set date: Operation not permitted
解决办法:
1、在OpenVZ主服务器上打开ntp
yum install ntp
2、给客户vps开启修改系统时间的权限:
vzctl set (veid) --capability sys_time:on --save
如果执行这个命令后报错:
WARNING: Some of the parameters could not be applied to a running container.
Please consider using --setmode option
请先停止该vps后再执行
vzctl stop (veid)
vzctl set (veid) --capability sys_time:on --save
vzctl start (veid)
这样客户就可以自己在vps里修改系统时间了:
[root@root ~]# date -s 11:17:40
Wed Feb 23 11:17:40 CST 2011
新手对于Linux类操作系统的恐惧大多数都来自Linux无数难记的命令,但实际上真正需要熟练掌握的Linux命令并不是很多,并且在熟练使用后,你还会发现Linux下的命令比Windows下一层一层的控制台来得远远方便。
相信我,只要经常在LinuxShell环境下工作,你会很快对这个BT的操作系统游刃有余。
下面仅仅介绍一些与VPS息息相关的命令,并且用最通俗易懂的语言来解释这些命令的作用:
1、基本的文件目录操作:
显示当前所处的目录:pwd
直接输入pwd即可,服务器会返回你所在的完整目录。
在不同目录之间跳转:cd
进入当前用户的用户目录:cd ~
进入根目录:cd /
进入上层目录:cd ../
进入上上层目录:cd ../../
进入当前目录下的photos目录:cd photos
删除文件:rm
删除readme文件:rm readme (然后系统会询问你是否删除,输入y表示确认,然后回车即可)
强制删除readme文件:rm readme -f (此时系统不会询问而是直接删除)
强制删除photos目录:rm photos -rf (后面的-rf表示强制删除目录)
创建目录:mkdir
在当前目录中创建photos目录:mkdir photos
在根目录中创建photos目录:mkdir /photos
创建文件:touch
创建空白文件readme:touch readme
重命名/移动:mv
将photos目录重命名为pictures: mv photos pictures
对于文件也是一样:mv oldfile newfile
将photos文件/目录移动到根目录:mv photos /
将photos文件/目录移动到上层目录:mv photos ../
复制文件/目录:cp
命令格式与上面的mv一样,第一个参数是源,第二个参数是目标。
2、压缩与解压缩
Linux系统默认的标准压缩格式是tar.gz,对zip也有比较好的兼容性。我们强烈建议如果要对文件进行压缩,都采用tar.gz或zip格式。Linux与Windows都能读取tar.gz(但Windows不太好编辑或创建)
将filename.tar.gz解压到当前目录:tar zxf filename.tar.gz
将photos目录打包成photos.tar.gz文件:tar zcf photos.tar.gz photos
将photos.zip文件在当前目录解压:unzip photos.zip
3、磁盘操作
查看所有分区剩余空间与占用情况:df -hl
[root@pt ~]# df -hl 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/VolGroup00-LogVol00 8.6G 3.9G 4.4G 47% / /dev/sda1 99M 19M 76M 20% /boot tmpfs 506M 0 506M 0% /dev/shm /dev/sdb1 16G 3.3G 12G 22% /home/wwwroot /dev/sdc1 16G 386M 15G 3% /usr/local/mysql/var
目前就只介绍这一个命令就行了,df命令其它的参数暂时没必要介绍。这条命令会将磁盘情况以最人性化的方式显示出来
4、内存操作
查看当前内存使用情况:free -m (m参数:用M为单位显示,该参数还可以为k、g)
[root@pt ~]# free -m total used free shared buffers cached Mem: 1010 978 31 0 275 360 -/+ buffers/cache: 342 667 Swap: 1023 0 1023
需要注意的是,实际占用内存并非上面显示的978M,而是:used-buffers-cached,所以上面显示的实际占用内存为978-275-360=343M
至于为什么会这样,请参考VPS管理百科的:Linux free命令实际内存占用全解析与内存工作方式
这种内存管理方式看起来会造成Linux总是占用了几乎所有的物理内存,但却能大大提高Linux的效率:内存作为最快的存储是用来用的,不是用来看的。
4、下载文件:wget
wget是非常好用的文件下载工具。
下载http://www.bootf.com/test.zip文件:wget http://www.bootf.com/test.zip
继续下载(断点续传):wget -c http://www.bootf.com/test.zip
5、进程管理器:top
直接执行top命令,即会显示一个类似于Windows任务管理器的界面,并且实时刷新。如果想对这个界面有深入的了解,参考:Linux下Top命令全解析
退出这个top命令,直接按q建即可。
6、文本文件编辑:vim
此编辑器杀伤力强大,且功能复杂(但是非常好用),详细介绍请参考:Linux下vi编辑器使用教程与用法大全