部署在docker环境,为了给学弟们搭建两个靶场折腾了一整天。。闹心。

因为是docker, 拉取了一个最新版本的ubuntu。(用centos出现一些问题,所以投入了ubuntu的怀抱)

安装apache

1
2
3
apt-get install apache2
service apache2 start
service apache2 status

浏览器访问localhost能出现apache的欢迎界面就是安装成功了

安装php5.6(7.2)

安装7.x的只要一句话,但是7.0的版本兼容性不是特别好,有时需要换5的版本。

1
2
3
apt-get install php7.2
apt-get install libapache2-mod-php7.2
apt-get install php7.2-mysql

安装5.6

1
2
3
4
5
6
7
apt-get install -y language-pack-en-base
LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php5.6-common
apt-get install libapache2-mod-php5.6
apt-get install php5.6-mysql

安装mysql

1
apt-get install mysql-server

安装的时候没有设置密码,导致无法登陆mysql
解决方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/etc/init.d/mysql stop 先停止mysql服务
/usr/bin/mysqld_safe --skip-grant-tables --skip-networking
安全模式运行
如果这里报错
执行以下代码
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
然后在输入
/usr/bin/mysqld_safe --skip-grant-tables --skip-networking
mysql -u root 成功执行

进入mysql以后修改root密码
use mysql;
update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码
update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行

flush privileges; #更新所有操作权限
quit;
最后重启mysql服务就好了
service mysql restart

遇到的问题

在apache运行的时候遇到了

1
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

解决:

1
2
vim /etc/apache2/httpd.conf
ServerName localhost

mysql启动报错【No directory, logging in with HOME=/】

解决:

1
2
3
4
 usermod -d /var/lib/mysql/ mysql#第一步
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock#第二步
chown -R mysql:mysql /var/lib/mysql#第三步
#之后重启mysql即可

无法找到add-apt-repository问题的解决方法

解决:

1
apt-get install software-properties-common

然后就能用add-apt-repository了