菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
3091
1

Ubuntu 完整搭建 apache2+MySQL+PHP7.2+Redis+Git+Composer+certbor

原创
05/13 14:22
阅读数 2462

前言

今天有幸看到社区有人发文,关于如何在服务器上安装 HTTPS 相关证书的。我在自己的服务器进行了一番尝试,但由于服务器是使用腾讯云镜像市场上的镜像,大多数的服务配置都被修改过了,所以我重新安装了 ubuntu 纯净系统,从头开始搭建 web 服务器。

本文主要用来学习。快速的搭建线上运行环境,有许多的细节配置并未设置。

本文主要安装:

  • apache2( 配置虚拟主机,开启URL重写)
  • mysql(配置单用户单数据库权限,允许远程访问)
  • git(创建 SSH 密钥,配对码云)
  • composer
  • php7.2 (常用扩展)
  • certbot (https 证书安装)

apache2

安装
sudo apt-get install apache2

安装完成后访问云服务器 IP 即可出现 apache 信息页面,表示 apache 服务安装并且启动完成。
file

配置

laravel 框架需要进行 URL 的重写,所以需要打开 apache 重写支持。

因为 ubuntn 系统权限管控,使用 root 用户便于操作,非 root 用户请在每个命令上带上 sudo。
file
进入文件,将圈内的配置改成 ALL 即可:
file
保存文件后退出。

扩展

apache 默认不支持解析 php 语言,需要安装扩展模块:

sudo apt-get install libapache2-mod-php7.2
配置虚拟主机域名

进入 apache2 配置目录:
file
如图所示,新建配置文件:

discuz.localhost.conf

file

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 用户进入改文件夹

file

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/
各位按照自己的服务器配置,选择合适的相关命令。
file
接下来是官方给出的命令:

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   //主要的命令。会出现相关的选择。

file
因为我配置过了,所以在此执行命令并未出现之前的选择。
每个选项上方有相关的描述。看不懂可以百度翻译一下。大概就知道该选项就干什么的。
最后,certbot 会自动列出本服务器 apache 配置中的域名,也就是我图中的选项,输入要配置的域名前方的序号,回车即可。
最后会询问你是否愿意完全将你的服务器的请求重定向到 https,选择同意即可。
稍等片刻,会出 configuration 完成。就欧克了。

因为证书有时间限制,certbot 自带了定时任务,运行即可。

sudo certbot renew --dry-run  // 定时任务更新证书

本文搭建过程可能有误,是我搭建完成后在写的,服务器有限,有些步骤没有给出图,可以自行百度,或者留言。

本文借鉴了几篇文章,因为回家换了电脑,待明天回公司在附上相应的链接。

如果有误或者建议,欢迎指出。

发表评论

0/200
3091 点赞
1 评论
收藏
为你推荐 换一批