在Ubuntu上安装Linux,Apache,MySQL,PHP(LAMP)堆栈以及WordPress

–>

系统如图:

 首先安装apache

 安装使用Apache Ubuntu的软件包管理器:

sudo apt update
sudo apt install apache2

//sudo以root用户运行

接下来将会询问你输入账号密码,输入密码后,会告诉你将要安装哪些软件包以及它们将占用多少额外磁盘空间。

选择YENTER继续,安装将继续进行。

检查UFW是否具有Apache的应用程序配置文件:

sudo ufw app list

将会显示:

查看Apache Full配置文件:

sudo ufw app info "Apache Full"

将会显示:

允许传入HTTP和HTTPS流量:

sudo ufw allow in "Apache Full"

 此时在浏览器输入

http://你的ip地址

就能看到Apache网页了。

如果不用图形界面的浏览器,可以直接在linux中输入

w3m 你的ip

可以看到这个界面:

就说明安装好了。

然后按q键退出w3m,

然后再输入y  即可回到主界面。

接下来安装 MySQL

sudo apt install mysql-server

 然后会显示安装的软件包列表,以及它们将占用的磁盘空间量,输入y继续。

sudo mysql_secure_installation

然后会询问你是否需要配置VALIDATE PASSWORD PLUGIN(验证密码插件)

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

选择y进行配置或者选择n

如果选择了配置,会让你选择密码等级:

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

无论是否选择设置VALIDATE PASSWORD PLUGIN,服务器都会要求你选择并确认MySQL root用户的密码。这是MySQL中的一个管理帐户,具有更高的权限。可以认为它类似于服务器本身的root帐户。

如果启用了密码验证,则会显示刚刚输入的root密码的密码强度,并且服务器会询问你是否要更改该密码。如果你觉得当前密码够安全,输入n。

Using existing password for root.

Estimated strength of the password: 10
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

然后接下来的问题,都选择y并且enter。

接下来设置mysql的访问方式。

sudo mysql
mysql>SELECT user,authentication_string,plugin,host FROM mysql.user;

 会显示:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

会看到 root用户的访问方式是auth_socket插件进行身份验证,现在要把它改成账号密码访问。

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql>FLUSH PRIVILEGES;

 再次输入

mysql>SELECT user,authentication_string,plugin,host FROM mysql.user;

会显示

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

这样就配置好了。退出mysql:

mysql>exit

由于访问方式发生了改变,所以接下来访问mysql的命令也变了,为:

mysql -u root -p

然后输入密码即可。

 安装PHP

sudo apt install php libapache2-mod-php php-mysql

接下来需要修改Apache在请求目录时提供文件的方式。默认情况下,如果用户从服务器请求目录,Apache将首先查找名为的文件index.html。但是我们想告诉Web服务器首先打开index.php文件,于是作以下修改:

sudo nano /etc/apache2/mods-enabled/dir.conf

 这将会打开一个conf文件,然后把php后缀放到前边,如图所示:

CTRL+X 保存并关闭文件。输入Y,回车。然后重启Apache更新设置:

sudo systemctl restart apache2

最后可以做一下测试

sudo nano /var/www/html/info.php

建立一个php文件,写入以下内容:

<?php
phpinfo();
?>

然后保存,退出。访问:

http://你的ip/info.php

安装WordPress:

为WordPress创建MySQL数据库和用户:

mysql -u root -p
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

创建账户和密码: 

mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit;

安装一些php扩展:

sudo apt-get update
sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
sudo systemctl restart apache2

调整Apache的配置以允许.htaccess覆盖和重写:

sudo nano /etc/apache2/apache2.conf

添加:

<Directory /var/www/html/>
    AllowOverride All
</Directory>

然后重启:

sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2

在tmp目录下 下载解压wordpress:

cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

 添加一个虚拟.htaccess文件并设置其权限,方便以后使用WordPress

touch /tmp/wordpress/.htaccess
chmod 660 /tmp/wordpress/.htaccess

 将配置文件复制过去

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

创建一个更新目录

mkdir /tmp/wordpress/wp-content/upgrade

将目录的全部内容复制到文档根目录中

sudo cp -a /tmp/wordpress/. /var/www/html

配置WordPress:

将文档根目录中的所有文件的所有权分配给用户名:

sudo chown -R 你的用户名:www-data /var/www/html

设置WordPress安装中每个目录的位

sudo find /var/www/html -type d -exec chmod g+s {} \;

将为wp-content目录提供组写访问权限,以便Web界面可以进行主题和插件更改:

sudo chmod g+w /var/www/html/wp-content
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins

从WordPress**生成器中获取安全值,输入以下命令或浏览器打开连接https://api.wordpress.org/secret-key/1.1/salt/

curl -s https://api.wordpress.org/secret-key/1.1/salt/

你会得到这样一组数据(**打码了):

 

打开WordPress配置文件:

nano /var/www/html/wp-config.php

将之前得到的数据粘贴过来

然后设置以下几个地方,并将红框中的内容添加到这个文件中。

最后,在浏览器中或用w3m 打开你所在的ip地址,即可通过Web界面完成安装wordpress。

 

在安装的过程中遇到了一些问题:

Failed to connect to wordpress.org port 443: Connection timed out

最后试了很多种方法都不行……然后发现是因为这台机子没联外网……(迷)

可以把wordpress 下载到 联网的电脑上,然后使用Xftp连接 即可把压缩包拷贝到linux上去了

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章