腾讯云CentOS笔记

纯手动代码编译折腾失败,直接上宝塔面板管理安装

#Centos安装脚本
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

为宝塔面板申请证书全程https

先登陆DNS服务商,查看API KEY和SECRTET KEY,例如阿里云的https://ak-console.aliyun.com/#/accesskey

export Ali_Key="这里为你的API KEY"
export Ali_Secret="这里改写为你的SECRTET KEY"

在ssh终端执行如上和如下,其中dns_dp代码为dnspod服务商,dns_ali为阿里云服务商,names.cn改为你申请的域名

~/.acme.sh/acme.sh --issue -d names.cn -d *.names.cn --dns dns_dp
  1. 如果未提示错误,就申请成功了。根据提示,找到证书所在目录
  2. 大概应该是:/www/server/panel/vhost/cert/names.cn用记事本打开fullchain.cer(证书文件)与names.cn.key(密钥文件)两个文件
  3. 将文件内容复制粘贴到宝塔面板——网站——设置——SSL——其它证书
    其中将names.cn.key内容写入“密钥(KEY)”栏,fullchain.cer内容写入“证书(PEM格式)”栏,保存后然后右上角开启“强制HTTPS”
  4. 浏览网站如果似乎无效,可能还需要去数据库中修改链接,把http://names.cn改为https://names.cn
    可以通过SQL执行,具体请谷歌,也可以把数据库文件导出用记事本打开替换,保存导入。
  5. 这时候我可以对宝塔自身的访问控制面板开启https,先在面板设置→开启面板SSL,然后在文件/www/server/panel/ssl/找到证书路径,下载它们两个文件,然后记事本打开privateKey.pem用names.cn.key中的内容替换,certificate.pem用fullchain.cer中的内容替换,然后上传这两个修改好的文件,这样就OK了。值得注意的是,我们只能替换,不能先删除再上传,如果先删除了,就没法上传了,连面板也访问不了了,这个时候需要你SSH链接后执行如下命令即可解除面板SSL
rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart
  1. 为了让https得分为A+,在Nginx配置中加入如下一句代码即可
#Nginx 配置 HSTS
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

为phpMyAdmin链接地址启用https

  一般,phpMyAdmin都是以域名或者IP+端口的形式访问的,不是https总感觉不安全,好歹phpMyAdmin是管理数据库的,岂能http?解决方法也很简单:

  1. 首先在宝塔面板→网站→添加站点,比如我新建一个mdb.name.cn的站点,自己在域名商那里把mdb.name.cn解析好;
  2. 然后用Nginx反向代理实现,比如我phpMyAdmin默认链接为:http://bt.name.cn:378/phpmyadmin_8c08752g1k453/index.php
    这时候在反向代理的目标URL:http://bt.name.cn:378/phpmyadmin_8c08752g1k453/
    发送域名:mdb.name.cn
    代理名称随意
  3. 设置一下网站目录:/www/server/phpmyadmin
      运行目录:/phpmyadmin_8c08752g1k453

  4. SSL这里自己添加证书强制HTTPS即可,这时候我们访问mdb.name.cn会出现如下提示:服务器和客户端上指示的HTTPS之间不匹配。这可能导致phpMyAdmin无法正常工作或存在安全风险。请修复您的服务器配置以正确指示HTTPS。

  1. 我们继续解决,定位到宝塔面板→文件;
    找到phpmyadmin的配置文件路径:/www/server/phpmyadmin/phpmyadmin_8c08752g1k453/config.inc.php
    添加如下代码即可解决。
$cfg['PmaAbsoluteUri'] = 'https://mdb.name.cn';

为pureftpd链接地址启用https

  1. STFP是为FTP的SSH,FTPS是为FTP SSL,请注意区别,而本文即是FTPS的开启方法
  2. 实际上,宝塔面板帮我们安装pureftpd的时候,就已经带证书编译安装了,但是信息都是宝塔的,故此我们可以自己申请一下证书,替换原来的证书,原证书路径在/etc/ssl/private/pure-ftpd.pem
  3. 证书命令openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem ,第一个输入的是国家代码,如:CN,第二是省份,第三是城市,第四是公司,第五是岗位,第六是服务器,第七是邮件,然后一张新的证书就生成了,给600的权限即可chmod 600 /etc/ssl/private/pure-ftpd.pem
  4. 估计是因为安装了宝塔面板的原因,基本在FileZilla中选择以“要求显示的 FTP over TLS”登入也会失败,这个时候需要你更改默认的FTP端口就行,比如我把端口改成2007,重启pureftpd,然后在FTP客户端这边链接就有证书安装的提示了,也就完事了。
  5. 另外,在pureftpd的配置中,如果要允许FTP 和 TLS会话,请将TLS设置为1 ,如果您只想接受TLS会话(无FTP),请将TLS设置为2 ,要不允许TLS(仅FTP),请将TLS设置为0 ,宝塔安装的默认是设置为1,
  6. 如果不想做上述操作,直接在宝塔面板中更改默认的FTP端口即可,然后在宝塔防火墙中放行此端口,另外在服务器防火墙中放行此端口,比如你是阿里云的,就是阿里云控制台(安全组)端口放行即可,然后在客户端用要求显示的 FTP over TLS的链接即可。

几个安全设置小记

  1. 关闭php版本显示,在php.ini中找到如下把On改为Off expose_php = Off

  2. X-Frame-Options头设置禁用,在Nginx站点的配置文件中 server字段后添加 add_header X-Frame-Options SAMEORIGIN; 如果是Apache环境在.htaccess中添加 Header always append X-Frame-Options SAMEORIGIN

  3. 关闭Nginx的版本信息,在Nginx配置文件 http字段后添加 server_tokens off; Apache自己百度

  4. 禁用WEB服务器OPTIONS,在.htaccess中添加,我的是宝塔管理的,好像在网站管理中设置防止跨站,然后在网站根目录有.htaccess文件,虽然是Nginx环境

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(OPTIONS)
RewriteRule .* - [F]

安装JDK环境

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
sudo yum localinstall -y jdk-8u131-linux-x64.rpm
java -version

Cntos 安装php7.2

先更新一波系统

#升级所有包同时也升级软件和系统内核
yum -y update
#只升级所有包,不升级软件和系统内核
yum -y upgrade
#查看系统版本
cat /etc/redhat-release
rpm -q centos-release
#查看内核版本
cat /proc/version

安装Apache失败

安装一些基本依赖

yum install -y gcc gcc-c++ openssl-devel zlib-devel

安装apr

wge http://mirrors.hust.edu.cn/apache//apr/apr-1.6.5.tar.gz
tar zxf apr-1.6.5.tar.gz
cd apr-1.6.5.tar.gz/
 ./configure --prefix=/usr/local/apr
make && make install
cd ..

安装expat

wget https://sourceforge.net/projects/expat/files/expat/2.2.6/expat-2.2.6.tar.bz2
tar jxf expat-2.2.6.tar.bz2
cd expat-2.2.6/
 ./configure --prefix=/usr/local/expat
make && make install
cd ..

安装 apr-util

wget  https://mirror.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
tar zxf apr-1.6.5.tar.gz
cd apr-1.6.5/
 ./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make && make install
cd ..

安装 pcre

wget http://sourceforge.mirrorservice.org/p/pc/pcre/pcre/8.42/pcre-8.42.tar.gz
tar zxf pcre-8.42.tar.gz
cd pcre-8.42/
./configure --prefix=/usr/local/pcre
make && make install
cd ..

安装 apache

wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gz
tar zxf httpd-2.4.37.tar.gz
cd httpd-2.4.37/
./configure \
--prefix=/usr/local/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--with-ssl \
--with-zlib \
--with-mpm=worker \
--enable-rewrite \
--enable-so \
--enable-ssl \
--enable-cache \
--enable-disk-cache \
--enable-file-cache \
--enable-mem-cache \
--enable-headers \
--enable-expires \
--enable-deflate \
--enable-dav \
--enable-dav-fs \
--enable-cgi \
--enable-proxy \
--enable-proxy-fcgi
make && make install
cd ..

因为默认安装php5.4,这有点老了,于是我们必须更新之
首先获取rpm:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#查看目前都有php的什么版本了
sudo yum list php*
#安装php7.2版本
sudo yum -y install php72w
#安装完毕后,输入php -v发现并没有该命令,因为php72w只是安装了php最小的库,一些应用还未安装,因此安装一些拓展包即可
yum -y install php72w-cli php72w-common php72w-devel php72w-mysql 
#对于wordpress应用,可能还需安装如下包:
sudo yum -y install php72w-gd php72w-imap php72w-ldap php72w-odbc php72w-pear php72w-xml php72w-xmlrpc
CREATE DATABASE wpjos;
CREATE USER 'mlgb'@'localhost' IDENTIFIED BY 'mdb9009';
GRANT ALL PRIVILEGES ON wpjos.* TO 'mlgb'@'localhost';

Putty提示Network error:Software caused connection abort解决方法

这也是保证让Linux服务器一直SSH链接客户端的解决方法,不然一会不操作就自动断开了

1.在linux服务器端设置:
vim /etc/ssh/sshd_config

查找/ClientAliveInterval 把ClientAliveInterval 0改为 ClientAliveInterval 60

2.Putty客户端设置:

在 Connection 里面有个 Seconds between keepaliaves(0 to tum off) :改为60,默认为0

另外把Enable TCP_keepalives (SO_KEEPALIVE option) 勾选

CentOS转换为图形GUI界面安装步骤

首先执行这一句防止系统文件被修改,不过小于2G内存基本不建议了,图形界面起码+600MB内存

chattr +i /etc/resolv.conf

检查已安装的组

yum grouplist

比如我腾讯云CVM的如下

Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Cinnamon Desktop
   MATE Desktop
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Backup Client
   Base
   Cinnamon
   Compatibility Libraries
   Console internet tools
   Development tools
   E-mail server
   Educational Software
   Electronic Lab
   Fedora Packager
   Fonts
   General Purpose Desktop
   Graphical Administration Tools
   Graphics Creation Tools
   Hardware monitoring utilities
   Haskell
   Input Methods
   Internet Applications
   KDE Desktop
   Legacy UNIX Compatibility
   MATE
   Milkymist
   Network Infrastructure Server
   Networking Tools
   Office Suite and Productivity
   Performance Tools
   Scientific support
   Security Tools
   Smart card support
   System Management
   System administration tools
   Technical Writing
   TurboGears application framework
   Web Server
   Web Servlet Engine
   Xfce
Done

可以看到里面有GNOME Desktop,于是安装它,中间有提示直接输入y 然后回车,直到出现complete

安装
yum groupinstall GNOME Desktop

下载vncserver

yum install tigervnc tigervnc-server -y

配置 vncserver 配置密码为:123321
vim /etc/sysconfig/vncserver

VNCSERVERS=”2:root”
VNCSERVERARGS[2]=”-geometry 800x600 -nolisten tcp -localhost”

启动vnc服务

vncserver &

关闭防火墙,因为在CentOS7中没有iptables表,但是依旧无法连接,VNC客户端提示Timed out waiting for a response from the computer
暂时不解决了,反正图形界面占用内存,CVM就1GB内存,悠着点用。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT

  转载请注明: 唐瑞平 腾讯云CentOS笔记

  目录