Paperworkは、スキャンされたドキュメントとPDFを管理するために使用できる、無料のオープンソースのセルフホスト型パーソナルドキュメントマネージャーです。これは、Evernote、Microsoft OneNote、GoogleKeepなどの他のサービスの代替ソリューションです。ページの向きの自動検出、スキャン、OCR、ドキュメントラベル、検索、キーワードの提案、スキャンのクイック編集など、多くの機能が付属しています。
このチュートリアルでは、Ubuntu18.04サーバーにPaperworkをインストールする方法を説明します。
- Ubuntu18.04サーバーを実行しているサーバー。
- sudo権限を持つroot以外のユーザー。
- サーバーに静的IPアドレス192.168.0.235を設定します。
LAMPサーバーをインストールする
まず、Apache、MariaDB、PHP、およびその他の必要なパッケージをサーバーにインストールする必要があります。次のコマンドを実行して、それらすべてをインストールできます。
sudo apt-get update -y
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-curl php7.2-xml php7.2-mbstring php-pear php7.2-zip php-dev git wget libmcrypt-dev php7.2-gd unzip -y
次に、Nodejsをシステムにインストールする必要があります。デフォルトでは、最新バージョンのNodejsはUbuntu18.04のデフォルトリポジトリでは利用できません。したがって、Nodejsリポジトリをシステムに追加する必要があります。これは、次のコマンドで実行できます。
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
次に、次のコマンドを使用してNodejsをインストールします。
sudo apt-get install nodejs -y
次に、mcryptPHP拡張機能をシステムにインストールする必要があります。 peclコマンドでインストールできます:
sudo pecl channel-update pecl.php.net
sudo pecl install mcrypt-1.0.1
尋ねられたら、Enterキーを押して続行します。
次に、次のコマンドを使用して、拡張子mcrypt.soをphp.iniファイルに追加します。
sudo sed -i.bak '927iextension=mcrypt.so' /etc/php/7.2/cli/php.ini
次に、インストールパスを取得し、cliおよびapache2php.ini構成に追加します。
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"
次に、次のコマンドを使用してPHPmcrypt拡張機能を確認します。
sudo php -i | grep "mcrypt"
出力:
mcrypt mcrypt support => enabled mcrypt_filter support => enabled mcrypt.algorithms_dir => no value => no value mcrypt.modes_dir => no value => no value
ss
次に、ApacheとMariaDBサービスを再起動し、次のコマンドを使用して起動時に開始できるようにします。
sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb
デフォルトでは、MariaDBは保護されていません。したがって、最初にそれを保護する必要があります。次のスクリプトを実行することで保護できます:
sudo mysql_secure_installation
以下に示すように、すべての質問に答えてください。
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
MariaDBが保護されたら、MariaDBシェルにログインします。
mysql -u root -p
ルートパスワードを入力し、Paperworkのデータベースとユーザーを作成します:
MariaDB [(none)]> CREATE DATABASE paperwork DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON paperwork.* TO 'paperwork'@'localhost' IDENTIFIED BY 'paperwork' WITH GRANT OPTION;
次に、次のコマンドを使用して特権をフラッシュします。
MariaDB [(none)]> FLUSH PRIVILEGES;
次に、次のコマンドを使用してMariaDBコンソールを終了します。
MariaDB [(none)]> EXIT
まず、次のコマンドを実行して、最新バージョンのPaperworkをダウンロードします。
cd /var/www/html
git clone -b 1 https://github.com/twostairs/paperwork.git
次に、次のコマンドを実行して、「mcrypt_get_iv_sizeは非推奨になりました」というメッセージを無視するようにPHPに指示します。
cd paperwork/frontend/
sudo sed -i.bak '3ierror_reporting(E_ALL ^ E_DEPRECATED);' app/config/app.php
次に、Composerをシステムにインストールする必要があります。 Composerは、PHPに必要な依存関係をインストールするために使用できるPHPの依存関係マネージャーです。次のコマンドでComposerをインストールできます:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
次に、次のコマンドを使用して、composerを介してPHPの依存関係をインストールします。
sudo composer install
次に、次のコマンドをデータベースに入力します。
sudo php artisan migrate
出力:
PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 ************************************** * Application In Production! * ************************************** Do you really wish to run this command? y Migration table created successfully. Migrated: 2014_07_22_194050_initialize Migrated: 2014_07_24_103915_create_password_reminders_table Migrated: 2014_10_08_203732_add_visibility_to_tags_table Migrated: 2015_01_21_034728_add_admin_to_users Migrated: 2015_05_05_094021_modify_tag_user_relation Migrated: 2015_05_22_220540_add_version_user_relation Migrated: 2015_06_15_224221_add_tag_parent Migrated: 2015_06_30_125536_add_sessions_table Migrated: 2015_07_29_130508_alter_versions Migrated: 2016_10_21_224100_fix_timestamps_for_postgres_again
次に、npmとbowerの依存関係をインストールします:
sudo npm install -g gulp bower
sudo npm install
上記のコマンドを実行すると、いくつかの警告メッセージが表示されます。それらをすべて無視して、次のコマンドを実行してください:
sudo bower install --allow-root
sudo gulp
次に、事務処理ディレクトリに適切な権限を付与します。
sudo chown www-data:www-data -R /var/www/html/paperwork
sudo chmod -R 755 /var/www/html/paperwork
次に、事務処理用のApache仮想ホストを作成する必要があります。
これは、次のコマンドで実行できます。
sudo nano /etc/apache2/sites-available/paperwork.conf
次の行を追加します:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/paperwork/frontend/public ServerName example.com <Directory /var/www/html/paperwork/frontend/public> Options Indexes FollowSymlinks AllowOverride All Require all granted </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
ファイルを保存して閉じます。次に、次のコマンドを使用してApache仮想ホストを有効にします。
sudo a2ensite paperwork
最後に、Apache rewriteモジュールを有効にし、Apacheサービスを再起動して、すべての変更を適用します。
sudo a2enmod rewrite
sudo systemctl restart apache2
これで書類がインストールおよび構成されました。次はWebブラウザーから書類にアクセスします。
Webブラウザーを開き、URLhttp://example.comを入力します。事務処理のウェルカムページにリダイレクトされます:
次へをクリックします ボタンをクリックして続行します。次のページが表示されます:
必要なすべての依存関係がインストールされていることを確認してください。次に、次へをクリックします ボタンをクリックすると、次のページが表示されます:
ここで、データベース名、ユーザー名、パスワード、ポートなどのデータベースの詳細を入力します。次に、次へをクリックします ボタン。次のページが表示されます:
ここでは、必要に応じて事務処理をカスタマイズします。次に、次へをクリックします ボタン。次のページが表示されます:
ここで、管理者ユーザーの詳細を入力します。次に、インストールの登録と完了をクリックします。 ボタン。次のページが表示されます:
次に、書類に移動をクリックします。 ボタン。以下に示すように、書類ログインページにリダイレクトされます:
ここに、管理者のメールアドレスとパスワードを入力します。次に、サインインをクリックします ボタン。次のページに書類ダッシュボードが表示されます:
- https://github.com/twostairs/paperwork