ubuntu下部署web服务器(Apache2 )
前言
使用ubuntu中的开源软件,简单搭一个服务器,供自己学习使用,主要参考了https://blog.csdn.net/u010871058/article/details/61413017,其中很多命令因为版本更迭会有问题,查找其他博客更改,并解决安装中出现的一些bug。
• 环境:
ubuntu 18.04
jdk-8u191
• 软件版本:
Apache/2.4.29
mysql 5.7.34
PHP 7.2.24
phpmyadmin 5.1.1
一.安装jdk
-
前往oracle Java官网下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html -
解压缩到指定目录(以jdk-8u191-linux-x64.tar.gz为例)
创建目录:
sudo mkdir /usr/lib/jvm
解压缩到该目录:
sudo tar –zxvf jdk-8u191-linux-x64.tar.gz -C /usr/lib/jvm
-
修改环境变量:
sudo vi ~/.bashrc
在文件末尾追加下面内容:
#set oracle jdk environment export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291 ##这里要注意目录要换成自己解压的jdk 目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 使环境变量马上生效: source ~/.bashrc
-
系统注册此jdk(设置默认jdk)
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_291/bin/java 300
-
查看java版本,看看是否安装成功:
java –version
二. Apache2 web 服务器的安装
-
apt命令搞定
sudo apt install apache2 -y
-
检查是否启动了Apache服务
systemctl status apache2
-
再来看看一些操作Apache的常用命令
开启、关闭和重启服务器
/etc/init.d/apache2 start //启动Apache服务 /etc/init.d/apache2 stop //停止Apache服务 /etc/init.d/apache2 restart //重启Apache服务
-
打开浏览器,输入http://127.0.0.1/ (这是主机默认的IP地址)或者如果是云主机就输入云主机的IP地址。当我们看到下面的页面时变说明Apache2 服务已经成功在我们的服务器上工作了。
熟悉重要的Apache文件和目录
现在你知道如何管理服务本身,你应该花几分钟时间来熟悉几个重要的目录和文件。
内容
• /var/www/html :实际的Web内容(默认情况下只包含您之前看到的默认Apache页面)由/var/www/html目录提供。 这可以通过更改Apache配置文件来更改。
服务器配置
• /etc/apache2 :Apache配置目录。 所有Apache配置文件驻留在此处。
• /etc/apache2/apache2.conf的主配置文件。 这可以修改为对Apache全局配置进行更改。 该文件负责在配置目录中加载许多其他文件。
• /etc/apache2/ports.conf :该文件指定Apache将监听的端口。 默认情况下,当启用提供SSL功能的模块时,Apache会监听端口80,并在端口443上进行监听。
• /etc/apache2/sites-available/ :可以存储每个站点“虚拟主机”的目录。 Apache不会使用此目录中找到的配置文件,除非它们链接到sites-enabled了sites-enabled目录(见下文)。 通常,所有服务器块配置都在此目录中完成,然后通过使用a2ensite命令链接到另一个目录来启用。
• /etc/apache2/sites-enabled/ :存储启用了每个站点“虚拟主机”的目录。 通常,这些是通过链接到具有a2ensite的sites-available目录中找到的配置文件创建的。 Apache在启动或重新加载以编译完整配置时读取此目录中找到的配置文件和链接。
• /etc/apache2/conf-available/ , /etc/apache2/conf-enabled/ :这些目录与sites-available和sites-enabled目录具有相同的关系,但用于存储不属于虚拟主机 conf-available目录中的文件可以使用a2enconf命令启用,并使用a2enconf命令禁用。
• /etc/apache2/mods-available/ , /etc/apache2/mods-enabled/ :这些目录分别包含可用和启用的模块。 以.load结尾的文件包含加载特定模块的片段,而以.conf结尾的文件包含这些模块的配置。 可以使用a2enmod和a2dismod命令启用和禁用模块。
服务器日志
• /var/log/apache2/access.log :默认情况下,对Web服务器的每个请求都记录在此日志文件中,除非Apache被配置为执行其他操作。
• /var/log/apache2/error.log :默认情况下,所有错误都记录在此文件中。 Apache配置中的LogLevel指令指定错误日志将包含多少细节。
三. 安装mysql,php,phpmyadmin
-
Mysql,输入命令
sudo apt-get install mysql-server mysql-client
可能需要输入root账户和密码 -
安装php
sudo apt-get install php sudo apt-get install libapache2-mod-php
现在我们将在网站的文件根目录中创建一个小型php文件(info.php)并在在浏览器中调用它。该文件将显示很多关于我们安装php信息,比如安装的php版本和有用的一些细节。命令:cd /var/www/html/ vim info.php (vim需要自己安装:sudo apt-get install vim)在info.php中写入:
<?php
phpinfo()
?>
访问一下info.php文件:
-
安装phpMyAdmin
apt-get install phpmyadmin
可能需要输入root账户和密码
在地址栏输入localhost/phpmyadmin/你就可以访问phpmyadmin了。
如果出现报错,可能是php和phpMyAdmin版本兼容性的问题,具体兼容如下:
安装php的时候是默认安装的最新的,可以通过升级phpMyAdmin来解决这一问题,具体官方升级教程在https://www.php.cn/tool/phpmyadmin/437865.html ,就是下载最新安装包解压后覆盖掉原来的文件夹,覆盖的文件夹在/var/www/下。
如果还出现报错,可参考https://blog.csdn.net/weixin_39827306/article/details/113392606,和https://www.cnblogs.com/wxwgk/p/13374952.html。第二个可能需要开启sudo权限
最终升级到最新版本,error也没有了。
有一点值得注意的小坑是phpMyAdmin虽然官网这么叫它,但是ubuntu的/var/www/文件夹叫phpmyadmin,访问时是区分大小写的,所以登录网页时要登录用localhost/phpmyadmin而不是localhost/phpMyAdmin