阿里云服务器ubantu14.04部署lavaral5.7博客

280 阅读3分钟
1. 安装php7.2
配置环境前下好language-pack-en-base这个包,解决不同语言之间可能发生的冲突,-y参数的意思是直接安装无需确认
sudo apt-get update
sudo apt-get install -y language-pack-en-base

安装完成后运行locale-gen en_US.UTF-8

再在服务器上安装Git sudo apt-get install git



sudo apt-get install software-properties-common python-software-properties 

sudo add-apt-repository ppa:ondrej/php && sudo apt-get update

sudo apt-get -y install php7.2

 # 如果之前有其他版本PHP,在这边禁用掉
sudo a2dismod php5
sudo a2enmod php7.2

# 安装常用扩展
sudo  apt-get install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml  php7.2-intl -y

#  安装其他扩展(按需安装)
sudo apt-get install php7.2-gd -y
sudo apt-get install php7.2-soap -y
sudo apt-get install php7.2-gmp  -y
sudo apt-get install php7.2-odbc -y      
sudo apt-get install php7.2-pspell -y    
sudo apt-get install php7.2-bcmath -y  
sudo apt-get install php7.2-enchant -y   
sudo apt-get install php7.2-imap -y      
sudo apt-get install php7.2-ldap -y      
sudo apt-get install php7.2-opcache -y
sudo apt-get install php7.2-readline  -y 
sudo apt-get install php7.2-sqlite3 -y   
sudo apt-get install php7.2-xmlrpc -y
sudo apt-get install php7.2-bz2 -y
sudo apt-get install php7.2-interbase -y
sudo apt-get install php7.2-pgsql -y     
sudo apt-get install php7.2-recode  -y   
sudo apt-get install php7.2-sybase -y    
sudo apt-get install php7.2-xsl -y
sudo apt-get install php7.2-cgi -y        
sudo apt-get install php7.2-dba -y
sudo apt-get install php7.2-phpdbg -y     
sudo apt-get install php7.2-snmp -y      
sudo apt-get install php7.2-tidy -y      
sudo apt-get install php7.2-zip -y

 成功后运行php -v查看版本,应显示类似信息
 	```
 		PHP 7.2.12-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Nov 12 2018 10:58:25) ( NTS )
 	Copyright (c) 1997-2018 The PHP Group
 	Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
 	    with Zend OPcache v7.2.12-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
 	```
 
 安装mysql
 
 ```
 sudo apt-get install mysql-server mysql-client过程中输入密码,确定后安装完成。 
 mysql -u root -p再输入密码测试,能成功登陆即安装完成。exit退出mysql
 
 因为上线的应用为laravel 5.5版本开发的,为了之后的兼容性问题,ubuntu14.04直接安装的mysql不是较新版本,因此要升级一下mysql:
 
 cd ~
 wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
 sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
 
 解压安装包后会弹出框,选择好mysql 5.7版本后选择ok 然后继续
 
 然后,更新包索引:sudo apt-get update
 
 然后,安装MySQL-server:sudo apt-get install mysql-server
 
 然后,升级全部的Mysql数据库:sudo mysql_upgrade -u root -p
 
 最后,重启mysql server:sudo service mysql restart
 
 登陆一下mysql看看是否已经升级完毕,成功了进入下一步
 mysql -uroot -p密码
 ```

由于apache2指向的网站根目录是/var/www/html/,要修改配置文件000-default.conf

vim /etc/apache2/sites-enabled/000-default.conf
使网站根目录指向 /var/www/html/public/

然后再修改/etc/apache2/apache2.conf的这里

<Directory /var/www/>
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
</Directory>
将AllowOverride None 的None改为All.保存重启apache2

这时访问网址,如果出现500错误.那就是由于storage目录没有 777 权限。

到/var/www/html/目录 执行

chmod -R 777 storage


在Unbuntu中重启Apache服务器出现错误:AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.等等。解决方法:

    $ sudo vim /etc/apache2/apache2.conf
  
   最后加入一句: ServerName localhost:80

sudo apache2ctl -k restart

Ubuntu下Apache开启Rewrite模块

安装好apache2后默认是没有开启rewrite模块的,需要我们手动进行配置。

在/etc/apache2目录下有几个需要配置的文件和目录:



mods-available:包含Apache模块及其配置文件



mods-enabled:已开启模块的目录,存放的是已开启模块的链接,分别对应/etc/apache2/mods-available目录下的模块,Apache开启时将会加载该目录下链接对应的模块和配置文件



sites-available:包含Apache的虚拟主机配置文件



sites-enabled:对应/etc/apache2/sites-available目录下配置文件的链接,与mods-enabled类似。



开启rewrite模块的方法很简单,在mods-available中可以看到名为rewrite.load的文件,只需执行以下命令就可以加载该模块:



sudo a2enmod rewrite

1

然后在 mods-enabled目录下就会生成相应的链接,接着还需要修改Apache的虚拟主机配置文件。



sudo vim /etc/apache2/sites-enabled/000-default

1

将AllowOverride None 修改为 AllowOverride All,如果没有看到这项内容,可以修改apache2.conf配置文件:



sudo vim /etc/apache2/apache2.conf

1

将其中的AllowOverride None 全部替换为 AllowOverride All:



:%s/AllowOverride None/AllowOverride All

1

最后重启apache即可:
sudo service php7.2-fpm restart


sudo /etc/init.d/apache2 restart