软件安装
我们可以在官网找到需要的环境,我使用的环境是Ubuntu+php+apache+sqlite+redis,首先我们安装所需要的软件
sudo apt install -y apache2 php php-fpm
sudo apt install -y php-curl php-gd php-mbstring
sudo apt install -y sqlite3 php-sqlite3 redis php-redis
下载安装kodbox
mkdir kodbox
cd kodbox
wget http://static.kodcloud.com/update/download/kodbox.1.13.zip
unzip kodbox.1.13.zip
cd ..
sudo chown -R www-data:www-data kodbox
sudo chmod 777 kodbox
sudo mv kodbox /var/www/html/kodbox
其实就是下载一个压缩包,解压后把它给放在/var/www/html/文件夹下
启动所需的服务
sudo service apache2 start
sudo service php7.4-fpm start
sudo service redis-server start
配置
所有服务启动好后,我们就可以使用http://ip/kodbox来访问了。第一次会进行环境检查,如果有缺少的用apt安装上,刷新网页就好了。
因为是自己访问,数据量不大,数据库就选择sqlite,缓存类型就选redis吧。
最后设置以下账户就可以登录使用了。
文件权限问题
可道云访问文件时是使用www-data这个用户的权限,而samba是使用登陆samba的用户权限,即使在一开始将samba的文件夹权限设置为所有人可读写,但是后面创建的文件还是只有各自的用户才能读写。
也就是说,会造成在kodbox下上传的文件,在samba连接时无法更改;在samba下创建的文件,在kodbox下无法更改。
我们可以使用acl解决这个问题。
# 首先安装acl
sudo apt install acl
# 然后使用以下命令授予共享文件夹权限,假设共享文件夹是属于samba登陆用户的,如果不是的话可能两个用户都需要设置
setfacl -m d:u:www-data:rwx dir
# 这个时候你执行以下命令就会发现输出里面有www-data的一行,这就说明设置成功了
getfacl dir
# default:user:www-data:rwx
这样设置后,即使www-data没有这个文件夹的权限,它依然能够访问这个文件夹里的文件,并且这个特点对新创建的文件依然有效。