部署paperwork私有云笔记
部署paperwork私有云笔记
Paperwork 是一个开源网络云笔记系统,Paperwork 采用 PHP 开发,使用 Laravel 4 框架,提供一个很流行的 Web UI,基于 AngularJS 和 Bootstrap 3 构建,提供开放 API 用于第三方集成。后端基于 MySQL 数据库。
1 环境说明
- ubuntu 16.04
- web环境:LAMP( Linux + Apache2 + Mysql + PHP)
2 创建应用数据库
sudo mysql -u root -p
#在Mysql中创建paperwork数据库,并分配权限
CREATE DATABASE paperwork;
GRANT ALL PRIVILEGES ON paperwork.* TO 'paperwork'@'localhost' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
3 安装相关依赖
3.1 composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# 查看composer是否安装成功
composer --version
#若输出版本信息则成功, 例如
Composer version 1.8.6 2019-06-11 15:03:05
3.2 Nodejs和nmp
sudo apt-get install nodejs npm
3.3 使用npm安装gulp和bower
# 更换npm源为国内源(例如淘宝源),提高下载速度
npm config set registry https://registry.npm.taobao.org/
# 查看是否更换成功
npm config get registry
# 安装gulp和bower
sudo npm install -g gulp bower
4 配置PHP
# 修改php配置文件,根据自己版本选择相应路径
vim /etc/php/7.0/cli/php.ini
# 分别修改 php内存限制、上传文件大小限制、使用UTC时区
# 搜索关键字,将相应选项改为如下值
memory_limit = 512M
upload_max_filesize = 200M
date.timezone = UTC
# 重启php服务
sudo service php7-fpm restart
5 安装paperwork
# 从GitHub上下载源码
git clone https://github.com/paperwork/paperwork.git
# 使用composer安装PHP依赖:
cd paperwork/frontend
composer install
5.1 迁移数据库
# 修改数据库配置
vim paperwork/frontend/app/config/database.php
# 找到如下代码,将其修改成上面配置的数据库信息,其它信息默认
database.php
'mysql' => array(
'host' => (getenv('DB_1_PORT_3306_TCP_ADDR') ? getenv('DB_1_PORT_3306_TCP_ADDR' ) : '127.0.0.1'),
'port' => '3306',
'database' => 'paperwork',
'username' => 'paperwork',
'password' => 'yourpassword',
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
),
迁移数据库
# 在 paperwork/frontend/下执行
php artisan migrate
mysql版本大于5.7可能会遇到如下报错
[PDOException] #SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for ‘created_at’,mysql5.7后不允许创建时间戳为空,解决办法见此处
5.2 安装npm依赖
# 安装npm依赖
npm install
sudo ln -s /usr/bin/nodejs /usr/bin/node
# 安装gulp依赖
bower install
gulp
5.3 部署paperwork
sudo mv ~/paperwork /var/www
sudo chown -R www-data:www-data /var/www/paperwork
6 Apache2 配置
# 添加paperwork配置文件
vim /etc/apache2/sites-available/paperwork.conf
paperwork.conf
Alias /paperwork "/var/www/paperwork/frontend/public/"
<Directory /var/www/paperwork/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/paperwork
SetEnv HTTP_HOME /var/www/paperwork
</Directory>
# 创建软连接
sudo ln -s /etc/apache2/sites-available/paperwork.conf /etc/apache2/sites-enabled/paperwork.conf
# 重启apache2服务
sudo service apache2 restart
7 访问paperwork进行用户配置
访问ip/paperwork
或者域名/paperwork
进行账户配置