ubuntu18.4 搭建lamp环境
一、Apache2 web服务器的安装:
可以先更新一下服务器(可选)
1、sudo apt update # 获取最新资源包
2、sudo apt upgrade # 本机软件全部更新
3、sudo apt dist-upgrade # 本机系统软件更新
本步骤可能出现下列问题,如未出现可略过:
Could not get lock /var/lib/dpkg/lock
当你执行sudo apt-get XXX这种命令时出现类似下面的输出错误:
Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
或者:
Could not ge lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
Unable to lock directory /var/lib/apt/lists/
Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
解释
出现这个问题的原因是,还有一个线程在使用apt-get进行下载的操作。但是奇怪的是,我就是没有找到其他使用了apt-get指令的终端界面。那么如何解决这个问题呢,难道要重新启动电脑吗,重启电脑是可以解决这个问题,但是我接下来教你的方法,才是真正的解决方法。
解决办法
先搜索所有运行着的线程
ps aux | grep -i apt
你会得到类似下面的输出:
root 752 0.0 0.0 4508 1628 ? Ss 01:13 0:00 /bin/sh /usr/lib/apt/apt.systemd.daily
_apt 2098 0.1 0.1 49572 5524 ? S 01:18 0:06 /usr/lib/apt/methods/http
aobo 4425 0.0 0.0 18484 980 pts/1 S+ 02:13 0:00 grep --color=auto apt
第2列就是线程号(kill processnumber)。我们将apt相关的进程给关闭掉,需要使用sudo权限:
# sudo kill processnumber
sudo kill 2098
然后在检查下进行的线程中是否还存在 _apt:
ps aux | grep -i apt
提示,以下操作均在root权限下进行
# 安装Apache
sudo apt install apache2
....中间信息略过

# 检查是否开启Apache,一般安装完会默认开启。
systemctl status apache2

# 开启 、关闭和重启Apache服务器
1、systemctl start apache2 # 开启
2、systemctl stop apache2 # 关闭
3、systemctl restart apache2 # 重启
二、数据库的安装,这里安装MySQL5.7:
# 安装MySQL:
sudo apt install mysql-server-5.7 (这里直接指定版本即可)

sudo service mysql restart/start/stop
就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,
完成后在终端输入mysql -u root -p之后,要求我输入密码,可是我并不知道密码,随便输入之后,
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
打开一个文件
sudo vim /etc/mysql/debian.cnf
如下

密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码
mysql -u debian-sys-maint -p AiV62RHXR8cqZROK
这之后就要修改密码了,毕竟密码太难记。
mysql> update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';
如果出现下面的提示则成功

成功之后重启mysql服务即可使用root账号进行登录
通过下列命令安装PHP 7.2
sudo apt-get update
安装composer
因为之前我门已经安装过了php的部分扩展所以接下来我们只用安装 curl git unzip这三个东西就行了
如果没有安装,需要安装过php的扩展后再来安装compioser
sudo apt install curl git unzip
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
全局安装composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
查看composer是否看装成功
composer -v
移除composer的安装文件
php -r "unlink('composer-setup.php');"
ubuntu18.4 搭建lamp环境的更多相关文章
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- Linux 18.04 搭建lamp环境
Linux 18.04 下搭建lamp环境 一. 安装服务器 a) 在配置好sources.list文件后,apt-get updata&upgrade更新软件: 二. ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- 在ubuntu上搭建开发环境4---ubuntu简单的搭建LAMP环境和配置
最近重新安装了Ubuntu,但是之前的LAMP环境自然也就没有了,实在是不想再去编译搭建LAMP环境(这种方法实在是太费时间,而且太容易遇到各种不知道为什么的错误),所以,就去查查有没有什么简单的搭建 ...
- Centos6.4版本下搭建LAMP环境
Centos6.4版本下搭建LAMP环境 配置yum mkdir/mnt/cdrom mount/dev/cdrom /mnt/cdrom 装载光盘 vi /etc/yum.repos.d/Cent ...
- Centos7+Apache2.4+php5.6+mysql5.5搭建Lamp环境——为了wordPress
最近想搭建个人博客玩玩,挑来挑去发现口碑不错的博客程序是wordpress,简称wp.虽然是学java路线的程序员,但因入行时间太短,至今没有发现较为称手开源的博客程序,如果各位大神有好的推荐,也希望 ...
- Linux手动搭建LAMP环境
当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- 利用yum搭建lamp环境并进一步创建博客
用yum搭建lamp环境 第一.安装apache yum -y install httpd 第二.安装mariadb Yum -y mariadb mariadb-server 第三.安装php Yu ...
随机推荐
- tf.add_to_collection,tf.get_collection简介
tf.add_to_collection:把变量放入一个集合,把很多变量变成一个列表 tf.get_collection:从一个结合中取出全部变量,是一个列表 tf.add_n:把一个列表的东西都依次 ...
- Oracle之子查询:Top-N问题
学习了SQL子查询,遇到个Top-N问题,即:加入有张工资表(这里使用Oracle SCOTT用户的emp表),需要查找工资最高的3个员工信息,以下列格式输出: 乍眼一看,这很简单啊,对sal进行排序 ...
- Codeforces 1190C Tokitsukaze and Duel game
题意:有一个长为n的01串,两个人轮流操作,每个人可以把某个长度为m的区间变成相同颜色,谁在操作后整个串颜色相同就赢了.问最后是谁赢?(有可能平局) 思路:容易发现,如果第一个人不能一击必胜,那么他就 ...
- opengl 库glew
OpenGL OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库.OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL.IRIS GL是一个工业标准的3D图形软件 ...
- Sass--嵌套选择器
Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点.这个特性现在正被 ...
- PHP- 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5输出 ...
- HWDB手写汉字识别 - CNN
MARK Caffe 的 googleNet近似模型,识别HWDB汉字200类 准确率96.3
- Vue select 绑定动态变量
概述 根据后台的数据生成多个select,由于数据的数量不定,所以v-model绑定的变量名也不定.所以通过数据的id或者下标进行变量拼接.页面能够成功渲染,但是当进行下拉框的选值时,组件不刷新,选中 ...
- ajax中回调的几个坑
在前端开发中,经常要用ajax去拿后台接口返回的数据,总结几个ajax的回调的常见问题,供大家参考爬坑. 未定义contentType,可能会造成的传入后台的数据乱码,可以加上如下代码在ajax请求中 ...
- C#中Json转换主要使用的几种方法!
这篇主要介绍2.4.第三种方法使用的比较局限,所以我没有深入学习. 第二种方法 我使用比较多的方式,这个方法是.NET内置的,使用起来比较方便 A.利用serializer获取json的泛型对象 利用 ...