由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦)

这里分享一些我遇到的问题。

  首先介绍一下我的使用环境  VM虚拟机,ubuntu 与主机NAT连接

  由于之前一直使用的是kali(默认root权限),而ubuntu 默认并不是root权限,所以使用命令行时 请在命令行前加上 sudo

       安装Apache2

首先,我们需要安装Apache 2 Web服务器。

sudo apt-get install apache2 -y

  之后验证apaqch2是否安装成功

ifconfig

查看主机ip

  打开浏览器 输入上图中红线所标的IP地址

如果出现it work 说明安装成功

  安装MySQL

运行以下命令安装MySQL。

sudo apt-get install mysql-server -y

  然后我发现安装过程没有让我设置mysql的root账户密码

  当我使用sudo mysql -u root -p的时候要我输入密码

  真是一脸懵逼 空密码 123456 全试了一遍没用(PS:后来才知道用户是root 密码也是root,或者sudo mysql)

  解决办法:利用Ubuntu系统用户登录mysql,并修改root密码。

打开一个文件

  sudo vim /etc/mysql/debian.cnf

  然后利用这个用户和密码登录mysql

  sudo mysql -u debian-sys-maint -p

  输入密码

成功进入mysql

输入 update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';

(  括号中的passwoed就是你要设置的密码      不要丢了;号)

如果显示:

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

说明修改成功

运行 sudo service mysql restart    重启mysql服务

运行此命令以保护MySQL。

sudo mysql_secure_installation

这个脚本会问你几个问题。

第一个问题将要求您安装验证密码插件。

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: N

我通常会回答“N”这个问题,因为我知道我的密码是安全的。 如果您愿意,可以回答“Y”。

接下来,该脚本将要求您为根MySQL用户设置新密码。

New password:  
 
Re-enter new password:

该脚本现在将要求您删除匿名用户。 回答“Y.”

By default, a MySQL installation has an anonymous user, 
allowing anyone to log into MySQL without having to have 
a user account created for them. This is intended only for 
testing, and to make the installation go a bit smoother. 
You should remove them before moving into a production 
environment. 
 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y

接下来,它会询问您是否要远程禁止root登录。 我们应该总是回答“Y”。

Normally, root should only be allowed to connect from 
'localhost'. This ensures that someone cannot guess at 
the root password from the network. 
 
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y

它会要求您删除测试数据库并访问它。 回答“Y.”

By default, MySQL comes with a database named 'test' that 
anyone can access. This is also intended only for testing, 
and should be removed before moving into a production 
environment. 
 
 
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y

接下来,它会要求您重新加载权限表。 回答“Y.”

Reloading the privilege tables will ensure that all changes 
made so far will take effect immediately. 
 
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

最后,脚本完成。

  安装phpmyadmin(数据库图形管理界面)

sudo apt-get install phpmyadmin

安装过程中选择apache2。

接着,安装完成后,去服务器目录下检查,发现并没有phpmyadmin,这样的文件或者文件夹

这是因为系统在安装软件时,默认将软件安装在了/usr/share/下,所以你的phpmyadmin在/usr/share下可以找到

所以,咱们必须建立一个软连接,使得第三步中显示的文件和/var/www/html下的某个文档链接起来,回到/var/www/html,输入一下代码

sudo ln -s /usr/share/phpmyadmin phpmyadmin

执行效果如图所示

之后打开浏览器输入

主机IP/phpmyadmin

用户名 root

密码 之前设置的

发现我登录不上phpmyadmin

(要死了)

  造成问题的原因:

在运行MySQL 5.7(及更高版本)的Ubuntu系统中,根 MySQL用户auth_socket默认使用插件进行身份验证,而不是使用密码进行身

份验证。这在许多情况下允许更高的安全性和可用性,但是当您需要允许外部程序(例如phpMyAdmin)访问用户时,这也会使事情变

得复杂。

解决方法:

为了使用密码以root用户身份连接到MySQL ,您需要将其身份验证方法从中切换auth_socket为mysql_native_password

步骤:

sudo mysql -u root -p
使用以下命令检查每个MySQL用户帐户使用的身份验证方法:
mysql> select user,authentication_string,plugin,host from mysql.user;

你可以看到root用户确实使用auth_socket插件进行了身份验证。要配置root帐户以使用密码进行身份验证,请运行以下ALTER USER命令。请务必更改password为您选择的强密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

如果你修改密码是出现报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

你需要修改密码验证的规则等级:

mysql> show variables like 'validate_password%';

修改密码验证等级:
mysql> set GLOBAL validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

修改root的密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ilovexinji.com';
Query OK, 0 rows affected (0.00 sec)

然后你查看root账号的身份验证方法:
mysql> select user,authentication_string,plugin,host from mysql.user;

你已经修改密码成功了,重启mysql

退出mysql终端
mysql>\q

重启mysql
sudo service mysql restart

然后你就可以使用root账号登录PHPMyadmin了。

  

安装PHP

在Ubuntu 18.04上安装LAMP的最后一步是安装PHP超文本预处理器。

PHP添加了支持动态网页的服务器端网页处理。

运行以下命令以安装PHP。

apt install php -y

接下来,我们需要告诉Apache首先提供PHP页面。

打开/etc/apache2/mods-enabled/dir.conf文件并将添加index.php。

<IfModule mod_dir.c> 
        DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm 
</IfModule>

最后,我们需要重新启动Apache Web服务器。

sudo service apache2 restart

我们应该确保PHP工作正常。

在/var/www/html中创建一个名为info.php的新文件。

cd /var/www/html

sudo vi info.php

使用以下内容调用info.php:

<?php
phpinfo();
?>

保存并退出该文件。

现在浏览到以下URL:

http://主机ip/info.php

您应该看到PHP信息页面。

  这样说明php也配置成功了

验证PHP正常工作后删除该文件。

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

附上LAMP的使用手册

https://oneinstack.com/docs/lampstack-image-guide/

  

 

  

Ubuntu 18.04 Server上安装LAMP的更多相关文章

  1. 在Ubuntu 18.04系统上安装Systemback的方法(抄)

    在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...

  2. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  3. 如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库. MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或 ...

  4. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

  5. Ubuntu 18.04 LTS上安装NFS服务器和客户端

    NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器.操作系统以及低层传送协议无关的存取远程文件的操作.RPC采用了XDR的支持.XDR是一种与机器无关的 ...

  6. 在 Ubuntu 18.04 /centos7上安装 Python 3.7

    扩展源安装 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsn ...

  7. 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    https://www.linuxidc.com/Linux/2018-11/155331.htm

  8. Docker - 在Ubuntu 14.04 Server上的安装Docker

    在 Ubuntu 14.04 Server 上安装过程是最简单的, 其满足了安装 Docker的所有要求,只需要执行如下安装脚本即可. 如果你有可能,请使用14.04版本的Ubuntu, 避免给自己挖 ...

  9. Ubuntu 18.04 server安装+搭建Seacms v10.1网站

    0x00 写在前面 以前我天真的认为,ubuntu Desktop会安装了,server就无所谓了,其实完全不然,server还是有一些坑点的. 之所以选择Seacms搭建网站,是因为这个SeaCMS ...

随机推荐

  1. Scrapy学习篇(十一)之设置随机User-Agent

    大多数情况下,网站都会根据我们的请求头信息来区分你是不是一个爬虫程序,如果一旦识别出这是一个爬虫程序,很容易就会拒绝我们的请求,因此我们需要给我们的爬虫手动添加请求头信息,来模拟浏览器的行为,但是当我 ...

  2. [UE4]Scale Box:缩放容器

    一.Scale Box只能有一个子控件,再拖放一控件进去是不行的. 二.Scale Box缩放保持长宽比例 三. Scale Box.Strectching.Strectch:拉伸设置.  Scale ...

  3. Activiti图表bpmn对应的xml文件

    当我们绘制了一个bpmn图表,实质是创建了一个xml文件, 右键bpmn文件open  with   xml edit <?xml version="1.0" encodin ...

  4. Runtime 解读

    首先,第一个问题, 1>runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, ...

  5. JavaWeb——jsp-config

    <jsp-config> 包括 <taglib> 和 <jsp-property-group> 两个子元素.其中<taglib> 元素在JSP 1.2 ...

  6. 深入理解Tomcat

    简介 tomcat是一个web服务器,运行jsp和servlet,使用HTTP与客户端(通常是浏览器)进行通信. 构成 下图是tomcat的架构,可以看出:核心内容是Connector和Contain ...

  7. java编程思想(1)--对象导论

    对象导论: 1.1 抽象过程 所有的语言都有抽象机制,抽象是解决复杂问题的根本方法.例如:汇编语言是对底层机器的轻微抽象.命令式语言(如:FORTRAN.BASIC.C)又是对汇编语言的抽象. jav ...

  8. Ubuntu下解决MySQL自启动,chkconfig list 全部off 情况

    chkconfig命令是用于RedHat/Fedora发行版的,而对于像Ubuntu之类的Debian发行版,应该使用这个命令: sudo update-rc.d mysql defaults 验证一 ...

  9. 设置同一个域名同一个源通过cdn用不同的端口访问网站设置

    下图例子是设置80和88访问,因为80是默认的访问,所以只要设置88就行 进入站点管理-->应用防火墙-->高级设置 这个设置用到了url和host模块 在站点设置里设置要用到的端口:

  10. 计算macd与ma技术指标

    MACD部分 转载自云金杞:https://blog.csdn.net/qq_26948675/article/details/72636590 数据获取于聚宽平台 import pandas as ...