如何在 DeeinOS 深度 Linux 系统中打造最好用的 Laravel 开发环境

作者:Codinget
2017. 12. 20

在Linux系统中进行Laravel开发

自从发布了自己打包好的傻瓜式基于【 深度V20 】虚拟机 PHP 开发环境之后,不少朋友对于如何搭建这样纯净的开发环境非常感兴趣,毕竟虚拟机运行效率有些低,如果在一个分系统中搭建一个运行效率更高的开发环境会更有利于日常开发使用,因此这篇博客咱们介绍一下如何搭建这个开发环境。同时也可以根据自己的需求,安装更适合自己或公司团队所需的工具或辅助环境。在搭建这个环境的时候,核心就是安装最新版本的 PHP,因此本篇博客核心介绍一下这部分内容。

【1】 升级系统

sudo apt update audo apt upgrade -y

 

【2】 添加所需 APT 仓库

sudo apt update sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

【3】 添加 PHP APT Repository 并导入仓库 Key

echo "deb https://packages.sury.org/php/  buster main" | sudo tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

【4】再次更新本地 Packages 索引信息,确保已经正确引入相关资源

sudo apt update

【5】正式安装 PHP 8.1 到系统当中

sudo apt install php8.1-fpm

 

【6】安装 PHP 8.1 相关必备扩展,可以根据自己的需要安装更多扩展

sudo apt install php8.1-{mysql,cli,common,imap,ldap,xm,curl,mbstring,zip}

【7】重新启动 PHP

 

sudo service php8.1-fpm restart 

  • 安装Nginx服务器

sudo apt-get install nginx -y 

  • 安装MySQL5.7

sudo apt-get install mysql-server-5.7 -y 

  • 安装Git

sudo apt-get install git -y 

  • 安装composer,记得重启系统

sudo apt-get install curl -y

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

sudo echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> /etc/profile 

source /etc/profile 

  • 安装valet

sudo apt-get install network-manager libnss3-tools jq xsel -y

composer global require cpriego/valet-linux 

valet install 

  •  安装Laravel安装器,至此,咱们就可以通过两种方式创建laravel项目

composer global require "laravel/installer" 

laravel new xxx 生成一个最新版本的laravel项目

composer create-project laravel/laravel xxx 5.x.* 创建指定版本的laravel项目。 

  • 安装redis

sudo apt-get install redis-server 

Laravel的运行环境已经有了,接下来咱们到深度OS里安装开发工具即可:

  • 全宇宙最好用的PHP集成开发环境用到 PHPStorm
  • 最受欢迎的代码编辑器 Sublime Text 3、Visual Studio Code、Atom
  • 数据库管理软件 DEeaver
  • Redis可视化管理软件 Redis Desktop Manager
  • 提高效率的 Albert,类似于MacOS下的Spotlight和Alfred,别忘了设置成开机启动

 

其实即便是编程老咖们,配置环境的时候也经常会遇到各种各样的问题,只是他们遇到问题后,找解决方案,新手之所以放弃多是因为遇到问题后解决不了,如果你是一个new hand得话,可以直接使用我们之前打包好的开发环境,虽然下载的时候比较耗时间,但是那个环境真的是好用,也免去了安装配置环境的各种痛苦。朋友们可以通过下面链接下载coding10打包好的开发环境。

开箱即用的Laravel开发环境 

OK,本篇的内容就到这里,发现码字真的不容易,Enjoy learning Laravel!

  

乐乐 2017.12.20 23:56

大部分命令跟部署Ubuntu服务器使用的命令都是相同的,难怪站长这么喜欢深度OS的开发环境

Codinget 2017.12.21 09:57

如果最终的部署环境也是Ubuntu服务器的话,用深度OS做开发时遇到的问题部署的时候基本也会遇到,算是提前踩雷,挺好的,如果是部署到CentOS的话,差异性大点,但都比MacOS差异性小很多,现在有不少公司都是开发时Ubuntu,部署时CentOS,当然这两年Ubuntu服务器增长比较快,毕竟配置简单,虽然稳定性上相比CentOS还差那么一丢丢。

jejezhang 2018.03.08 16:45

好好好!这个真的好。

Codinget 2018.03.08 16:55

谢谢支持,这个开发环境我该更新一下了

qwert 2018.04.07 12:47

请问能否把fish里的一些脚本分享下?

Codinget 2018.04.07 13:15

不知道你需要哪些脚本,fish是代码提示工具,我们之前输入过的命令它就会帮我们记住,下一次的时候就会自动提示了,如果想要配置fish的话,可以输入fish_config 就会自动启动一个网页让我们去进行配置。可以设置样式和添加命令。祝兄弟好运!

lynn_vivi 2019.01.22 18:21

大神,我有个问题想咨询你:

我在虚拟机安装了deepin,php、mysql之类的也都装好了,开始做项目的时候,sublime text老是提示没有保存文件的权限,authorization failed,在文件管理器里看,但凡用php artisan make生成的文件,不管是model还是migration还是seeder,图标上都有一个小锁,好像属主不是我现在在用的账户。每生成一个文件就去改它的属主这也不现实,有什么办法么?

ps:我一堆疑难杂症恳请赐教,可否给个联系方式,诚求😭

Codinget 2019.01.22 20:53

你登陆用户所属的用户组是啥?我建议你先查查资料,学习一下 linux 用户和用户组以及权限相关的内容,这样的话这些问题就能慢慢解决了,对于以后使用服务器也有很大的帮助,我其实基本不用聊天工具的,这也是为什么我不建群的另外一个原因,有问题你直接发我邮件也行,我每天固定晚上10后处理邮件中的内容。你先试着解决一下遇到的问题,刚换一个环境肯定会很不适应,肯定得痛苦几天的,创建项目的时候直接在桌面创建项目就可以了,这样当前用户应该是有相应访问权限的。聊天软件我很少用的,这也是为什么我不建群的一个原因,有问题直接发我邮箱就行 codinget@163.com。

lynn_vivi 2019.01.25 15:11

谢谢啦,我当时怎么弄都没用,很烦躁关机了,结果再开机又没这个问题了。目前还算顺利,基本都是一边遇坑一边百度找解决办法,再有头疼解决不了的问题我再来烦你,哈哈。你不用聊天工具,就能专注工作,武侠里绝世高手都是这么练成的,再一次甘拜下风~

Codinget 2019.01.25 15:24

这是最好的方法,多折腾自己几次就啥也不怕了,聊天工具偶尔也开,只是用的很少,朋友圈这一年都没开过,戒断期过去了之后发现自己轻松了很多,不然真的很难专注在事情上。我的朋友们知道我不怎么用聊天工具,也都很理解,都是用电话联系,能一下子把事情就说清处理完,大家有事的时候反而沟通更简单了。

kankta 2020.04.11 10:50

教你个简单的办法,不要用虚拟机。找一台旧电脑,硬盘只安装linux.就一个用户。root.你是超级管理员;应该不会有权限的问题;

Codinget 2020.04.11 11:40

别带坏小朋友,权限这关必须要过,不能靠root这种简单粗暴的方式,会出人命的。

kankta 2020.04.11 09:44

我觉得ubuntu比deepin要好。deepin不支持deb.

Codinget 2020.04.11 10:12

哈哈,朋友想多了,用 Deepin 是因为它可以构建一个更容易上手的开发和运行环境,越傻瓜越好,并不是为了追求方方面面都能兼顾到,另外就是没有必要谁好谁坏非要较个高下低劣,顺手就好,喜欢就好,不管哪个环境,我都挺喜欢玩的。

kankta 2020.04.11 10:46

我之前也是一直探索php的开发环境操作系统。用过deepin,ubuntu,elementary-os(漂亮的ubuntu);

elementary-os 完全是ubuntu.可以和我的服务器环境一致。

修正:deepin应该是支持deb和apt-get,但不支持ppa;

但是我用笔记本使用elementary-os.无法调节亮度和无法hdmi外置显示器。就这两个问题吧;

munhak 2020.04.24 14:27

你好 能拜托一下 CentOS7 里部署laravel开发环境的 视频教程吗?

我自己试了好几次都是出现 storage/logs/laravel.log 权限问题

./storage和./bootstrap/cache的权限都该过 777 也是一样...

拜托录一下CentOS7的视频好吗?

Codinget 2020.04.24 14:36

不应该吧,-R 参数加上没有,我下来买个服务器看看吧,我也很久没有搭过环境了,不知道新版本部署的时候是不是多了些需要注意的事项。

munhak 2020.04.24 14:39

加了...

试了好多次都是显示storage/logs/laravel.log 权限问题...

Codinget 2020.04.24 14:49

你看看你nginx所在的用户组,查到之后把下面这句运行一下 ,把 www-data:www-data 替换成你的就行了

sudo chown -R www-data:www-data /var/www/laravel-blog

munhak 2020.04.24 14:51

我是在lamp环境下装的composer 装完apache 还得装nginx吗?

Codinget 2020.04.24 14:56

我还以为你用的nginx呢, 那这就不用安装nginx

munhak 2020.04.24 15:00

[root@localhost munhak]# chmod -R 777 storage/ [root@localhost munhak]# chmod -R 777 bootstrap/cache/

[root@localhost munhak]# sudo chown -R $USER:apache storage [root@localhost munhak]# sudo chown -R $USER:apache bootstrap/cache [root@localhost munhak]# chmod -R 775 storage [root@localhost munhak]# chmod -R 775 bootstrap/cache

[root@localhost munhak]# chmod -R 775 /var/www/html/munhak/storage [root@localhost munhak]# chmod -R 775 /var/www/html/munhak/bootstrap/cache

这些都试过了 还是不行...

munhak 2020.04.24 15:14

解决了 关闭SELINUX 可以显示laravel页面了

关了SELINUX 没关系吗?

以后做线上项目也可以关闭SELINUX来开发吗?

Codinget 2020.04.24 15:23

哎,那就是之前修改权限后你也没验证呗?其实一直没有修改成功,关了就关了吧,你可以修改完权限之后再开启它,它不会取消已经设定成功的权限的

Codinget 2020.04.24 15:24

开发期间你就关闭它就行了,一般情况下没有太大安全隐患,除非公司被人盯上了,国内95%的公司压根没人关注,就是把用户名和密码都设置成root,也不会有人去攻击

munhak 2020.04.24 15:27

那修改权限以后怎么验证呢?

munhak 2020.04.24 15:26

那修改权限以后怎么验证呢?

Codinget 2020.04.24 15:28

自己去搞定吧,这都是基本的命令了,玩后台编程的,这些东西你不掌握以后没得混的

munhak 2020.04.24 15:29

哦~谢谢

Codinget 2020.04.24 15:58

这些东西花不了半个小时的时间你就能掌握得很熟练,别太惯着自己了

munhak 2020.04.24 16:03

能给可以参考的资料吗...?

munhak 2020.04.24 15:52

在ftp上storage目录和目录里的所有文件都 显示的是777的

怎么可能没修改成功呢?