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 ...
随机推荐
- GeneXus笔记本—获取当月的最后一天
首先获取当前日期 然后赋值为当前年月的第一天 然后加一个月 减去一天 就是当月最后一天 多用于筛选数据时的条件或者区间 我们先随便拉个页面 简单点就好 放入两个textblock 然后点击Even ...
- 拓展练习:Linux权限管理--基础权限/ 特殊权限
目录 基础权限拓展练习 特殊权限拓展练习 基础权限拓展练习 1.用户基础权限为9位,每三位为一组,每组代表着谁的权限? 前三位代表属主权限位 中间三位代表属组权限位 后三位代表其他用户权限位 2.权限 ...
- java web项目获取项目路径
注意:有时获取到的项目路径后再+“自定义路径后” 路径不可用,这时要看下项目里自定义路径是不是空文件夹,如果是空文件夹则调试和运行时文件夹不会编译到部署文件里. 1.方法一 调试时只能获取eclips ...
- iframes
iframes提供了一个简单的方式把一个网站的内容嵌入到另一个网站中.但我们需要慎重的使用iframe.iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级. ...
- react-native学习(一)————使用react-native-tab-navigator创建底部导航
使用react-native-tab-navigator创建底部Tab导航 1.使用npm安装react-native-tab-navigator npm install react-native-t ...
- C#的一些代码
form读取配置文件 /// <summary> /// 读取配置文件 /// </summary> /// <param name="key"> ...
- shell中的空格【转载】
1.定义变量时, =号的两边不可以留空格. eg: gender=femal————right gender =femal———–wrong gender= femal———–wrong gender ...
- css3-手把手 transform 小时钟
学习css3ing,正在学习transfomr,突发奇想用此做个小时钟,开始吧: 准备前期工作,把时钟的表盘,时分秒针,实时时间标签 的大概样子做好,效果如图: html代码如下: <div c ...
- shell脚本编程测试类型下
一bash的数值测试 -v VAR变量VAR是否设置 数值测试:-gt 是否大于greater-ge 是否大于等于-eq 是否等于-ne 是否不等于 not equal-lt 是否小于-le 是否小 ...
- python 线程,进程与协程
引言 线程 创建普通多线程 线程锁 互斥锁 信号量 事件 条件锁 定时器 全局解释器锁 队列 Queue:先进先出队列 LifoQueue:后进先出队列 PriorityQueue:优先级队列 deq ...