前言
今天有幸看到社区有人发文,关于如何在服务器上安装 HTTPS 相关证书的。我在自己的服务器进行了一番尝试,但由于服务器是使用腾讯云镜像市场上的镜像,大多数的服务配置都被修改过了,所以我重新安装了 ubuntu 纯净系统,从头开始搭建 web 服务器。
本文主要用来学习。快速的搭建线上运行环境,有许多的细节配置并未设置。
本文主要安装:
- apache2( 配置虚拟主机,开启URL重写)
- mysql(配置单用户单数据库权限,允许远程访问)
- git(创建 SSH 密钥,配对码云)
- composer
- php7.2 (常用扩展)
- certbot (https 证书安装)
apache2
安装
sudo apt-get install apache2
安装完成后访问云服务器 IP 即可出现 apache 信息页面,表示 apache 服务安装并且启动完成。
配置
laravel 框架需要进行 URL 的重写,所以需要打开 apache 重写支持。
因为 ubuntn 系统权限管控,使用 root 用户便于操作,非 root 用户请在每个命令上带上 sudo。
进入文件,将圈内的配置改成 ALL 即可:
保存文件后退出。
扩展
apache 默认不支持解析 php 语言,需要安装扩展模块:
sudo apt-get install libapache2-mod-php7.2
配置虚拟主机域名
进入 apache2 配置目录:
如图所示,新建配置文件:
discuz.localhost.conf
ServerName //域名
DocumentRoot //项目根目录,指向 laravel 项目的 public 目录
保存退出。在当前目录调用命令,加载配置文件。完成后再重启 apache2 服务。
sudo a2ensite discuz.localhost.conf
service apache2 restart
mysql
安装过程中会出现输入框让你输入 mysql root 用户密码:
sudo apt-get install mysql-server mysql-client
使用 root 登录 mysql:
create database test; //新建数据库
grant all privileges on test.* to test@'%' identified by '1234'; // 给 test 用户赋予 test 数据库的所有权限,密码为1234,mysql 会默认添加 test 用户。
flush privileges; //刷新权限
//配置完成后,需要更改 mysql 配置文件,允许所有地址连接 mysql,开发时可以打开,生产时请关闭。
#bind-address 127.0.0.1 //注释掉
//修改完成后需要安装扩展:
sudo apt-get install php7.2-mysql
git
sudo apt-get install git //安装
ssh-keygen -t rsa -C "your_email@example.com" //一路回车。
cd /root/.ssh/ //使用 root 用户进入改文件夹
cat id.rsa.pub
将内容添加进码云个人中心 SSH 列表中即可。
composer
一套走下来就好了,如果在 composer install 时遇到报错,比如什么扩展没安装,或者什么 php 函数被禁用,修改 php.ini 文件中的相关内容即可,所有配置文件基本都在 /etc 下:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
cd /usr/local/bin/composer
chmod +x composer
php7.2
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo -y apt-get install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl
第四条命令用来安装 php 扩展,如果有其他需要,按照相应的格式按照即可。
certbot
certbot 官网:https://certbot.eff.org/
各位按照自己的服务器配置,选择合适的相关命令。
接下来是官方给出的命令:
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 python-certbot-apache
//上述命令完成后
sudo certbot --apache //主要的命令。会出现相关的选择。
因为我配置过了,所以在此执行命令并未出现之前的选择。
每个选项上方有相关的描述。看不懂可以百度翻译一下。大概就知道该选项就干什么的。
最后,certbot 会自动列出本服务器 apache 配置中的域名,也就是我图中的选项,输入要配置的域名前方的序号,回车即可。
最后会询问你是否愿意完全将你的服务器的请求重定向到 https,选择同意即可。
稍等片刻,会出 configuration 完成。就欧克了。
因为证书有时间限制,certbot 自带了定时任务,运行即可。
sudo certbot renew --dry-run // 定时任务更新证书
本文搭建过程可能有误,是我搭建完成后在写的,服务器有限,有些步骤没有给出图,可以自行百度,或者留言。
本文借鉴了几篇文章,因为回家换了电脑,待明天回公司在附上相应的链接。
如果有误或者建议,欢迎指出。
© 著作权归作者所有
发表评论