Ubuntu14 搭建PHP工作环境

本文详细介绍了如何在Ubuntu14.04上搭建PHP开发环境,包括使用Vagrant创建虚拟机、修改主机名、更换Ubuntu源、安装Nginx、MySQL、PHP7.1及phpMyAdmin,还涉及了arcanist代码审核工具的本地配置和Git的中文支持设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 工作环境搭建

标签(空格分隔): linux ubuntu 环境 工作


虚拟机管理

用 vagrant 搭建虚拟机

参考资料

vagrant常用命令

  • vagrant box add NAME URL #添加一个名为NAME的box
  • vagrant box list #查看本地已添加的box
  • vagrant box remove NAME #删除本地已添加的box
  • vagrant init NAME #初始化,实质应是创建Vagrantfile文件
  • vagrant up #启动虚拟机
  • vagrant halt #关闭虚拟机
  • vagrant destroy #销毁虚拟机
  • vagrant reload #重启虚拟机
  • vagrant package #当前正在运行的VirtualBox虚拟环境打包成一个可重复使用的bo

使用vagrant安装虚拟机实例

    cd ~/vbox/work  #目录可以根据需求自定义
    vagrant box add work  ../ubuntu_trusty_64.box #用指定box添加vagrant box
    vagrant init work # 会在当前目录生成 Vagrantfile,可以对其进行修改
    vagrant up #启用虚拟机
    vagrant ssh #登录虚拟机

自定义ssh登录脚本

建立shell脚本

#!/usr/bin/expect
set timeout 5 #超时时间
spawn /usr/bin/ssh vagrant@192.168.33.33 #ssh 登录命令
expect "password:" #检测输出
send "vagrant\r" #自动输入密码并回车
interact

Ubuntu 管理[14.04]

修改主机名

vim /etc/hostname

更改ubuntu源

  1. 下载163源
  2. 更改源
sudo tar -zcvf etc_apt.tar.gz /etc/apt/ #将现有软件源进行备份
cd /etc/apt/
sudo cp sources.list sources.list-back  #将原软件源进行备份
sudo wget http://mirrors.163.com/.help/sources.list.trusty #下载163的ubuntu14软件源,一定要先确认自己是什么版本的ubuntu,然后下载对应的文件
sudo mv sources.list.trusty sources.list
sudo apt-get update #更新软件源
sudo apt-get upgrade #更新软件

nginx\mysql\php7.1\phpmyadmin 环境搭建

Nginx

cd ~/data
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

# 在/etc/apt/sources.list中加入如下代码,一定要加入和自己系统对应的源

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

# 更新源文件

sudo apt-get update
sudo apt-get install nginx
#nginx 默认安装位置 /etc/nginx, nginx 虚拟主机位置 /etc/nginx/conf.d
  • 参考nginx虚拟主机配置
server {
    listen       80;#监听端口
    server_name  web.local;#主机名
    access_log  /home/yang/log/web/web.local-access.log;#正常日志
    error_log /home/yang/log/web/web.local-error.log;#错误日志
    root /home/vagrant/workspace/web;#项目根目录
    index index.php index.html;#index文件

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.1-fpm.sock;#具体sock位置需要根据自己实际情况进行配置
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.ht {
        deny  all;
    }   
}

MySql

参考地址

sudo apt-get install mysql-server
sudo service mysql restart

PHP7.1

参考地址
参考地址

添加PHP7源

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-cache search php7.1

php7.1-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.1-cli - command-line interpreter for the PHP scripting language
php7.1-dev - Files for PHP7.1 module development
php7.1-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.1-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.1-bcmath - Bcmath module for PHP
php7.1-bz2 - bzip2 module for PHP
php7.1-common - documentation, examples and common module for PHP
php7.1-curl - CURL module for PHP
php7.1-dba - DBA module for PHP
php7.1-enchant - Enchant module for PHP
php7.1-gd - GD module for PHP
php7.1-gmp - GMP module for PHP
php7.1-imap - IMAP module for PHP
php7.1-interbase - Interbase module for PHP
php7.1-intl - Internationalisation module for PHP
php7.1-json - JSON module for PHP
php7.1-ldap - LDAP module for PHP
php7.1-mbstring - MBSTRING module for PHP
php7.1-mcrypt - libmcrypt module for PHP
php7.1-mysql - MySQL module for PHP
php7.1-odbc - ODBC module for PHP
php7.1-pgsql - PostgreSQL module for PHP
php7.1-pspell - pspell module for PHP
php7.1-readline - readline module for PHP
php7.1-recode - recode module for PHP
php7.1-snmp - SNMP module for PHP
php7.1-soap - SOAP module for PHP
php7.1-sqlite3 - SQLite3 module for PHP
php7.1-sybase - Sybase module for PHP
php7.1-tidy - tidy module for PHP
php7.1-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.1-xmlrpc - XMLRPC-EPI module for PHP
php7.1-zip - Zip module for PHP
php7.1-opcache - Zend OpCache module for PHP
php7.1 - server-side, HTML-embedded scripting language (metapackage)
php7.1-xsl - XSL module for PHP (dummy)

安装PHP7及常用扩展

常用扩展:apcu\curl\gd\gmp\json\mysql\xml\cli\fpm\readline

sudo apt-get install php7.1 php7.1-cli php7.1-mysql php7.1-fpm php7.1-readline php7.1-xml php7.1-json php7.1-gmp php7.1-gd php7.1-curl php7.1-mbstring php7.1-bcmath

sudo apt-get install php-apcu

配置PHP与nginx

cd /etc/nginx/conf.d    #nginx默认配置目录
# 1) 将nginx\php-fpm\登录用户\代码所属用户改成同一个用户
vim ../nginx.conf  #将 user 改成上述用户
# 2) 更改php配置中的user
cd /etc/php/7.1/fpm
grep -rn "www-data" # 查找包含默认用户www-data的地方,一共有四处,user\group\listen.owner\listen.group , 将他们都改成上述用户
# 3) 更改 php 的 sock 文件所有者
 sudo chown vagrant /var/run/php/php7.1-fpm.sock
# 4) 新建虚拟主机
sudo cp default.conf web.work.conf #配置文件名可以自定义,但是要以".conf"结束
/var/run/php/php7.1-fpm.sock

安装phpmyadmin

下载地址

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip
unzip phpMyAdmin-4.6.5.2-all-languages.zip
cp -R phpMyAdmin-4.6.5.2-all-languages workspace/phpmyadmin #将phpmyadmin复制到外网可以访问的地方,或者创建软连接,并为其配置虚拟主机

arcanist 代码审核工具本地配置

  • 在指定文件夹中下载 libphutil 和 arcanist
mkdir ~/phabricator #文件夹可以自定义,建议放到 /home/当前登录用户/^
cd phabricator
sudo apt-get install git #如果没有安装git,那么就执行此命令安装git
#下载比较慢,有可能的话尽量使用现成的包
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
#测试,进入~/phabricator/arcanist/bin 
./arc #根据相关信息查看arc是否能够成功运行
  • 将 ~/phabricator/arcanist/bin 加入环境变量
 #临时改变环境变量
 export PATH="$PATH:/home/vagrant/phabricator/arcanist/bin" #目录一定要根据自己的目录进行调整
 echo $PATH #查看指定的目录是否已被加入环境变量
 #开机程序中加入改变环境的配置
 vim ~/.profile
 #在最后加入上述命令 export PATH="$PATH:/home/vagrant/phabricator/arcanist/bin"

常用工具

sudo apt-get install git
# 可以考虑建立 ~/bin/ 将常用工具及自定义脚本放到里面

#安装composer
wget https://getcomposer.org/download/1.3.0/composer.phar
mv ./composer.phar ~/bin/composer #将 composer移动到 ~/bin 下
chmod +x ~/bin/composer
composer --version #如果安装成功,能够显示composer版本
composer self-update #更新
composer config -g repo.packagist composer https://packagist.phpcomposer.com #更新composer中文源

#安装 phpunit
wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar ~/bin/phpunit
phpunit --version

#安装 php-cs-fixer
wget https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.0.0/php-cs-fixer.phar -O php-cs-fixer
chmod a+x php-cs-fixer
mv php-cs-fixer ~/bin/php-cs-fixer
php-cs-fixer --version

Git 配置

中文支持

sudo vim /var/lib/locales/supported.d/local #在其中加入如下代码
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
#使其生效
sudo dpkg-reconfigure locales
#编辑 ~/.vimrc 加入如下代码

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
set nocompatible

" Vim5 and later versions support syntax highlighting. Uncommenting the
" following enables syntax highlighting by default.
if has("syntax")
  syntax on            " 语法高亮
endif
colorscheme ron        " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下

" detect file type
filetype on
filetype plugin on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
  "have Vim load indentation rules and plugins according to the detected filetype
  filetype plugin indent on
endif


#使其立刻生效
source ~/.vimrc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值