一、操作系统
CentOS 7.2 64位。
二、挂载数据盘
这里有详细的教程,具体地,执行以下命令:
fdisk -l
fdisk /dev/vdb
n
p
回车3次
wq
再次
fdisk -l
可以看到数据盘已经建立。
执行:
mkfs.ext4 /dev/vdb1
创建文件系统。
备份一下fstab(也可以跳过):
cp /etc/fstab /etc/fstab.bak
写入分区信息:
echo /dev/vdb1 /data ext4 defaults 0 0 >> /etc/fstab
创建data目录:
cd /
mkdir data
挂载文件系统:
mount /dev/vdb1 /data
执行:
df -h
如果出现新建文件系统的信息,说明挂载成功,可以使用新的文件系统了。
三、安装OneinStack
选择OneinStack的自动安装。
执行生成的自动安装命令
cd /data
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 5 --phpcache_option 1 --php_extensions imagick --phpmyadmin --db_option 5 --dbinstallmethod 1 --dbrootpwd password --pureftpd --redis --memcached --iptables --reboot
等待安装结束(大约30分钟)。
记得改一下/data/wwwroot/default/phpMyAdmin目录的名称。
记得在iptables中打开3306端口
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables save
service iptables restart
如果想仅允许指定IP访问
iptables -A INPUT -p tcp -s 192.168.1.1 -dport 3306 -j ACCEP
四、安装SVN
执行:
cd /data
yum -y install subversion
在/data目录下新建SVN目录,然后启动SVN:
cd /data
mkdir svn
svnserve -d -r /data/svn
建立SVN项目:
svnadmin create /data/svn/projectName
修改配置文件conf/authz:
[/]
user1 = rw
user2 = rw
修改配置文件conf/passwd:
[users]
user1 = password1
user2 = password2
修改配置文件conf/svnserve.conf,去掉这几行前的#号,改成这样:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
cd到hooks目录,拷贝一份post-commit.tmpl:
cd /data/svn/projectName/hooks
cp post-commit.tmpl post-commit
打开拷贝的post-commit
在#!/bin/sh一行后面加上:
export LANG=en_US.UTF-8
/usr/bin/svn update --force /data/wwwroot/projectName
然后注释掉最后一行:
# mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
修改post-commit权限:
chmod 777 post-commit
重启SVN:
killall svnserve
svnserve -d -r /data/svn
将SVN加入到开机自动启动:
vi /etc/rc.d/rc.local
写入:
/usr/bin/svnserve -d -r /data/svn
不知道SVN安装到哪里,可以用whereis:
whereis svnserve
为SVN指定编辑器:
vim /etc/bashrc
在最后加入:
export SVN_EDITOR=vim
保存,然后执行以下命令使其立即生效:
source /etc/bashrc
五、安装composer
执行:
cd /data
curl -sS https://getcomposer.org/installer | php
然后执行下边的语句,使composer可以全局运行:
mv composer.phar /usr/local/bin/composer
六、安装Laravel
执行:
cd /data
composer global require "laravel/installer"
等待安装完成(大约15分钟)。
vim /usr/local/php/etc/php.ini
去掉以下的disable_functions:
proc_open
proc_get_status
symlink
然后重启PHP:
service php-fpm restart
更新源(国内)
composer config -g --unset repos.packagist
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
或
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
composer config -l -g
创建项目(可能需要等几分钟才显示):
cd /data/wwwroot
composer create-project --prefer-dist laravel/laravel projectDir "5.5.*"
等待安装结束(大约10分钟)。
七、提交至SVN
checkout刚才的SVN目录:
cd /data/wwwroot
svn co svn://localhost/projectName projectDir
如果是旧目录拷贝过来的,还要先清理原来的svn文件
find -name ".svn" -exec rm -rf {} +
把刚建的svnadmin目录UUID改过来
svnadmin setuuid /data/svn/projectName xxx..uuid...xxx
cd projectDir
chmod -R 777 storage
chmod -R 777 bootstrap/cache
提交:
cd /data/wwwroot/projectDir
svn add . --no-ignore --force
svn ci
八、安装虚拟主机
记得要指向public目录:
cd /data/oneinstack
./vhost.sh
顺便可以安装fileinfo(文件保存时需要用到):
./addons.sh
等待安装结束(大约1分钟)。
九、完成!
在域名控制台新建A记录到主机IP,通过浏览器访问,能显示主页即为安装成功。