下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
ubuntu16.04
添加box
vagrant box add ubuntu16.04(box新名) pmv3.box(box地址)初始化
vagrant init box名
启动虚拟机
vagrant up --provider virtualbox
ssh到虚拟机
vagrant ssh
更新源
sudo cp /etc/apt/sources.list /etc/apt/sources.list .bak 备份原 源文件
sudo cp /dev/null sources.list 清空sources.list内容
sudo vi /etc/apt/sources.list 编辑
sudo apt-get update
sudo apt-get upgrade 升级
安装数据库MariaDB
- sudo apt-get install mariadb-server
安装成功后,接下来需要运行初始化程序
- sudo/usr/bin/mysql_secure_installation
在完成初始化后,MariaDB 就可以使用了,但是这里有一点需要注意,在新版的 MariaDB 中,出于安全考虑,数据库默认的 root 用户只能在具有系统 root 权限的程序中使用。比如你在 Ubuntu 中使用的是非 root 用户,那么当你执行 mysql -u root -p 时是无法登陆的,必须使用 sudo mysql-u root -p 才可以。也就是说普通的 PHP 程序中如果我们使用 root 账户去连接数据库中会出现错误。因此我们必须给数据库添加一个新用户。
登录数据库
sudo mysql -uroot -p
创建新用户
- CREATE USER'newuser'@'localhost' IDENTIFIED BY'password';
然后给这个用户赋予数据库访问权限
- GRANT ALL PRIVILEGES ON*.* TO'newuser'@'localhost';
最后应用权限变更
- FLUSH PRIVILEGES;
这样,MariaDB就可以投入实际使用了。
退出数据库
exit
安装 Nginx
同样使用 apt-get 即可方便安装
- sudo apt-get install nginx
Ubuntu 上的 Nginx 和 Apache 保持了同样的 Web 文件夹路径,也在 /var/www/html/
我们在 html 下新建一个文件夹 blog ,作为博客网站的根目录,然后在 blog 下新建一个 index.html方便测试。
sudo mkdir blog
sudo touch index.html
接下来我们需要配置 Nginx,使 域名指向 blog 文件夹。
Nginx 的网站配置文件存放在 /etc/nginx/sites-available/,
我们在该目录下可以看到有一个 default 文件,即默认网站的配置文件,我们可以照着它来配置其他网站。
首先复制一份
- sudo cp default blog
这样我们就得到了 blog 的配置文件,我们需要改动以下几个地方
首先需要把两行监听端口配置中的 default_server 删掉
然后把 root指向 blog 文件夹
- root /var/www/html/blog
最后在 server_name 中填入域名****
这样我们就完成了基础的配置,想要启用该网站配置,需要使用 ln 命令将该配置文件软链接到 /etc/nginx/sites-enabled/
- sudo ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/
在使该配置生效之前,我们可以使用 sudo nginx -t 命令测试配置文件是否正确,如果可用的话,运行 sudo systemctl restart nginx 重启 Nginx 就可以了。
此时我们在浏览器中访问 域名,就会看到我们刚才新建的 index.html了
安装 PHP
在 Ubuntu 16.04 中,系统源的默认 PHP 版本就是 7.0 了,所以同样直接运行 apt-get 就行了,同时安装常用拓展
- sudo apt-get install php-fpm php-mysql php php-gd php-curl php-zip php-dom php-bcmath php-mbstring
安装完成后,我们首先需要修改一下 PHP 的配置文件,需要把 /etc/php/7.0/fpm/php.ini 中的 cgi.fix_pathinfo 设置项去掉注释,并设为0
- cgi.fix_pathinfo=0
这个设置项会允许服务器在找不到用户指定文件的情况下去执行一个路径相近文件,非常不安全,强烈建议关闭掉
然后重启php服务使设置生效
- sudo systemctl restart php7.0-fpm
接下来,需要配置 Nginx,使其支持 PHP。
打开我们的blog配置文件,首先需要增加 index.php 文件支持,在index 项中增加 index.php
- index index.php index.html index.htm index.nginx-debian.html;
然后需要设置PHP文件的处理程序
在配置信息的最后加入
- location~ \.php${
- include snippets/fastcgi-php.conf;
- fastcgi_pass unix:/run/php/php7.0-fpm.sock;
- }
修改完成后,应该是下面这个样子
- server{
- listen80;
- listen[::]:80;
- root/var/www/html;
- index index.php index.html index.htm index.nginx-debian.html;
- server_name blog.zhh.me;
- 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使设置生效。
我们可以将 /var/www/html/blog/ 下的 index.html 改成 index.php , 来测试配置是否成功。
安装svn
sudo apt-get install subversion
sudo chown -R ubuntu:ubuntu blog
cd blog
sudo svn checkout url --username () --password ()
更改storage文件夹权限
sudo chmod 777 -R storage
public 文件夹下
sudo mkdir thumb
sudo chmod 777 -R thumb
项目配置文件
sudo cp .env.example .env
sudo vi .env
app_env = production
debug = false
app_timezong = Asia/Shanghai
创建项目数据库
sudo mysql -u(新建用户名) -p
create database netdisk;
exit;
安装composer
sudo apt-get install composer
sudo composer install
sudo composer update
sudo php artisan migrate
修改nginx配置文件
将root指向public
添加client_max_body_size 8m;
sudo systemctl restart nginx
sudo nginx -t 测试
相关文章
https://blog.zhh.me/index.php/archives/33/