在华为云服务器上(Ubuntu18.04)搭建LAMP环境以及同时部署wordpress,Discuz,phpbb等
前段时间做课设要求在linux的服务器上用LAMP环境搭建自己的论坛或者博客。
首先是我用的环境:
Ubuntu18.04+Apache2+PHP7.1+MySQL5.7
其中服务器是前段时间白嫖的华为云服务器,域名也是白嫖的域名。
用的ssh连接工具是finalshell,因为这个东西比较方便windows和linux服务器传输文件和更改。
Apache2的安装与测试:
首先安装Apache2:
sudo apt-get install apache2
然后打开浏览器输入自己的服务器公网ip,显示如下图就是成功了:
完成上面步骤后最好更新一下资源:
sudo apt-get update
sudo apt-get upgrade -y
PHP7.1的安装与测试:
然后安装PHP环境以及其他的相关组件,省的后面又哪里缺组件之类的:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.1-fpm php7.1-mcrypt php7.1-cli php7.1-xml php7.1-mysql php7.1-gd php7.1-imagick php7.1-recode php7.1-tidy php7.1-xmlrpc
sudo apt-get install libapache2-mod-php7.1
结束之后在终端输入
php -v
就可以查看版本了,如下图:
MySQL5.7的安装与测试:
在终端输入
sudo apt-get --purge remove mysql-server mysql-common mysql-client
sudo apt-get install mysql-server mysql-common mysql-client
sudo /etc/init.d/mysql restart
安装完成后,由于新创建的是root用户而我们没有密码,所以我们需要先删除这个root用户再创建一个新的root用户并且给他赋所有的权限。(注意在mysql终端输入都是以 ;结尾)。
首先,登录mysql:
sudo mysql -u root
然后删除root账号:
mysql> DROP USER 'root'@'localhost';
Query OK, 0 rows affected (0,00 sec)
重新创建root:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '密码';
授权:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0,00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)
mysql> exit
建立Apache与MySQL的连接:
输入
sudo apt-get install phpmyadmin -y
然后选择Apache2
设置密码并确认密码
最后建立连接重启MySQL和Apache
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo service mysql restart
sudo /etc/init.d/apache2 restart
这样,LAMP环境就已经搭建好了。
接下来我们来绑定域名(如果没域名可以跳过)
首先进入自己域名的运营商,找到自己的域名,然后选择域名中的DNS解析,选择记录类型为A,ip地址为自己服务器的公网ip,点击确定就可以了。
wordpress的安装:
由于现在wordpress的主页访问不了,所以这时候就体现出了finalshell的便利性了,我们先在windows下下载一个最新版的wordpress安装包。
wordpress-5.3.2-zh_CN.zip下载链接:
链接:https://pan.baidu.com/s/1380HrzglO5XDx39aX83O4g
提取码:4ti5
直接上传到服务器,然后解压到/var/www/html/文件夹下面,(html文件夹是Apache的默认读取的文件夹目录)
接下来就为wordpress创建一个数据库(管理员和密码可以自己改):
//登录进入数据库
mysql -u root -p
//创建数据库
CREATE DATABASE wordpress;
//创建管理员
CREATE USER wordpressusers;
//设置密码
SET PASSWORD FOR wordpressusers = PASSWORD("密码");
//设置权限
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressusers IDENTIFIED BY "密码";
//生效配置
FLUSH PRIVILEGES;
//退出数据库
exit
由于现在wordpress已经存在html文件夹下,就不用再移动了,可以直接给整个html文件夹赋予权限(不赋权的话就后面在网页上会报错缺少权限):
sudo chmod -R 777 /var/www/html/
sudo /etc/init.d/apache2 restart
这样就可以通过域名(没有域名就通过公网ip)直接的访问了,界面如下:
Apache2部署多个站点:
上面说过,Apache2的默认文件夹是html,但是我们一般使用的时候,很多个站点都是部署在同一部服务器上面,接下来就可以通过两种方法来访问不同站点。
1. 如果你有多个域名的话,那么就可以修改配置文件通过不同域名来访问不同的文件夹,就是用来访问不同的站点。
2. 如果你只有一个域名的话,那么就通过修改Apache2配置文件来监听不同的端口号来访问不同的站点。
由于我只有一个域名,所以先介绍第二种方法。
虽然在实验中发现,帮别人搭建的时候,由于他没有域名,所以不能通过不同的端口号来区分这些,可能是因为粗心或者其他原因我也没去探讨。
首先我们配置Apache2端口,让Apache2监听其他端口
修改/etc/apache2/ports.conf,可以在其默认的端口(Listen 80)下面增加自己要监听的端口。
然后配置Apache2配置文件
在/etc/Apache2/sites-available中建立自己的配置文件,可以先复制000-default.conf
然后再重命名。
sudo cp 000-default.conf wushuyng1_best.conf,
sudo cp 000-default.conf wushuyng2_best.conf,
sudo cp 000-default.conf wushuyng3_best.conf
再打开来编辑这些配置文件,其中需要关注的是ServerName和DocumentRoot这两个配置点:
首先需要你在/var/www/下面新创建一个文件夹,其与html文件夹在同一目录下就行。
然后更改VirtualHost *的端口号为自己听的,把ServerName的前面注释符号 ‘#’去掉,后面改成自己的域名
ServerName wushuyng.best
在下面修改
DocumentRoot /var/www/wushuyng1_best
再在其下面加一段如下:
<Directory "/var/www/wushuyng1_best">
AllowOverride All
</Directory>
最后一步我们需要在sites-enabled目录下来建立符号链接来使其生效:
sudo ln -s /etc/apache2/sites-available/wushuyng1_best.conf /etc/apache2/sites-enabled/wushuyng1_best.conf
sudo ln -s /etc/apache2/sites-available/wushuyng2_best.conf /etc/apache2/sites-enabled/wushuyng2_best.conf
sudo ln -s /etc/apache2/sites-available/wushuyng3_best.conf /etc/apache2/sites-enabled/wushuyng3_best.conf
重启Apache2使配置生效:
sudo /etc/init.d/apache2 restart
这样就能通过域名+:端口号来访问
如果是要采用第一种情况的话,就不用了监听新的端口,只需要在配置文件的ServerName 后面输入域名就可以,端口号不用改变,其他都一样。
参考博客:https://blog.csdn.net/jochen_M/article/details/84073588
Discuz的安装:
由于前面配置了8081端口监听的目录为wushuyng1_best,其中是打算存放Discuz论坛,所以直接在/var/www/wushuyng1_best目录下下载并解压Discuz文件,其中会有三个目录,需要把upload目录下的所有文件移到wushuyng1_best中。
然后就是配置Discuz的数据库
先mysql -u root -p登录进数据库,然后创建一个名为discuz的数据库,并创建一个管理员为wushuyng的账号。
create database discuz;
grant all privileges on discuz.* to '用户名'@'localhost' identified by '密码';
flush privileges;
exit
然后赋权
chmod -R 777 /var/www/wushuyng1_best/*
当配置完成后注意,如果用google可能会因为自己站点的安全性不好,发送表单请求的时候可能会把你拦截从而登录不了,换个浏览器就好了。
其他的PHPBB3和织梦管理系统也是如此安装就好了。
原文地址:https://www.cnblogs.com/wushengyang/p/12166614.html
- Android Studio配置Kotlin环境
- Android 应用安装过程分析
- React Native之TextInput组件实现联想输入
- React Native之轻量级存储AsyncStorage
- [先行者课程]--0312视差效果--课堂笔记
- Android 绿色应用公约
- React-Native组件之 TabBarIOS和TabBarIOS.Item
- [先行者周日课程-0305] web前端组件 之 拖动窗口
- react-native城市列表组件
- [前端常见病] 之 后端数据还没有,前端怎么进行?
- dependencies与devDependencies的区别
- [先行者课程] -- 用js实现倒计时功能的业务逻辑
- iOS如何实现多个环境一次打包
- 从原理到策略算法再到架构产品看推荐系统 | 附Spark实践案例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Day7.数据类型-集合
- 详解一条查询select语句和更新update语句的执行流程
- JSP 开发环境搭建与项目运行(二)
- Activity启动时生命周期汇总
- 「程序员」Flutter:从网络获取数据遇到的坑
- 程序员:拿到新电脑如何配置Git环境
- What?数据量巨大还不分库分表?JDBC 入门与项目实战
- 简书:如何去掉图片下面烦人的“图片发自简书App”
- 命令行shell复制并以当前时间重命名文件夹
- 如何获取PHP命令行参数
- 学习PHP弱引用的知识
- 「okhttp」Gradle引用改jar包引用(一波三折)
- 「问答」解决CSV文件用Excel打开乱码问题
- 「问答」解决jar包运行时相对路径问题
- 「Eclipse」生成能用命令行运行的jar包