0%

Laravel开发环境 Ubuntu16.04

从过去的一学期里,我因为频繁更换开发环境,配置了很多遍开发Laravel所需的环境,考虑到Ubuntu和Centos下环境的差异,分两篇写一下相关的各种环境的配置。

此篇为Ubuntu篇,针对为Ubuntu16.04

1.PHP环境

安装PHP,ubuntu16.04带的php是7.0版本,如果需要高版本需要手动加源。

1
2
3
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install php7.1 php7.1-fpm php7.1-zip php7.1-dev php7.1-json php7.1-mbstring php7.1-mysql php7.1-curl php7.1-xml

修改php.ini

sudo vim /etc/php/7.0/fpm/php.ini

修改PHP配置,取消展示几行的注释

1
2
3
4
5
;extension=php_curl.dll
;extension=php_mbstring.dll
;extension=php_mysqli.dll
;extension=php_openssl.dll
;extension=php_pdo_mysql.dll

2.Mysql数据库(mariadb)

安装并且进行初次配置,默认密码为空

1
2
sudo apt-get install mariadb-server mariadb-client
sudo mysql_secure_installation #设置密码

进入mysql修改下一些配置

1
2
3
4
5
sudo mysql -u root -p
use mysql;
update user set plugin='mysql_native_password' where user='root';
flush privileges;
quit;

3.Composer

Composer是 PHP 用来管理依赖(dependency)关系的工具。

sudo apt-get install composer

安装Composer

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

更换Composer软件源到国内源,可以有效提升速度与稳定性。


5.Nginx

sudo apt-get install nginx

安装Nginx

本地访问一下localhost(其他人访问下这台机器的ip)
如果出来Nginx的默认欢迎页面就没问题了。

sudo vim /etc/nginx/sites-available/default

修改Nginx配置:

1
index index.php index.html index.htm index.nginx-debian.html;
1
2
3
4
5
6
7
8
location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

重启nginx

sudo systemctl restart nginx.service

测试一下:

sudo vim /var/www/html/test.php

在/var/www/html/下新建test.php,并写入以下内容

1
2

phpinfo();

访问 localhost/test.php(其他人访问下这台机器的ip/test.php)
如果出现phpinfo页面则ok。
该页面为php服务器的配置信息。

6. Git

安装Git

sudo apt-get install git

设置Git全局配置username与email

git config --global user.name “your username”
git config --global user.email “your@email.com”

建立密钥文件

ssh-keygen -t rsa -C “your@email.com”

cat ~/.ssh/id_rsa.pub
添加github的ssh密钥

7.nodejs & npm

直接通过apt安装,得到的版本有点低,所以不直接安装。

使用nvm来安装

1
2
3
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh
bash install_nvm.sh
source ~/.profile

我选择8.13.0版本

1
2
nvm install 8.13.0
nvm alias default 8.13.0

如果使用别的shell,比如zsh。需要自己添加一下nvm的一些环境变量。
一般是这个样子

1
2
3
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

nodejs与npm的安装方式有多重,推荐使用nvm。
自己编译太慢,n模块功能没有nvm强。

nvm与n的选择

不用多说,cnpm代替npm。更多详情参考 淘宝 NPM 镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

8.Laravel

composer global require “laravel/installer”

安装Laravel安装器

确保 $HOME/.composer/vendor/bin 目录(或你的操作系统的等效目录)已经放在你的环境变量 $PATH 中,以便系统可以找到 laravel 的可执行文件。
安装之后, laravel new 命令会在你指定的目录中创建一个新的 Laravel 项目。

如果是clone项目的话,不下载安装器也可以。
我在windows下也没有执行过该命令,本地一直保留有一份纯净项目的压缩包。

9.Laravel项目配置

  1. 保证storage/目录与bootstrap/cache/目录有写入权限
  2. 将.env.example 更改为.env 填写数据库相关的三个字段(用户名,密码,数据表)
  3. 安装nodejs相关包和php相关包。项目根目录下执行命令

    1
    2
    composer install
    npm install
  4. php artisan key:generate 生成项目秘钥

  5. 修改nginx配置,将root目录指向项目的public目录。然后重启nginx。

    systemctl restart nginx

  6. 开发过程中,使用php的内置服务器也可。

    php artisan serve

可通过增加--port=?? 来指定端口

End

基础的配置就算完成,上面的安装过程有些是凭借印象写的。
可能略有差错,我会找机会去测试修改。