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源
- 下载163源
- 更改源
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