GNU/Linux >> Linux の 問題 >  >> Ubuntu

ProjectSendをApacheでインストールし、Ubuntu20.04でSSLを暗号化する方法

ProjectSendは、無料のオープンソースのファイルおよび画像共有アプリケーションであり、会社とクライアントの間でファイルを共有するのに役立ちます。これはクライアント指向のファイル共有ツールであり、任意のサーバーで無制限のファイルサイズをアップロードして共有できます。これはPHPで記述されており、MySQLデータベースを使用して情報を保存します。リアルタイム統計、自己登録、自己ログイン、カスタム電子メールテンプレートなどの豊富な機能セットを提供します。

この投稿では、ProjectSendファイル共有アプリケーションをApacheでインストールし、Ubuntu20.04でSSLを暗号化する方法を紹介します。

前提条件
  • Ubuntu20.04を実行しているサーバー。
  • サーバーIPで指定された有効なドメイン名。
  • ルートパスワードはサーバーで構成されています。
はじめに

まず、次のコマンドを実行して、システムパッケージを更新されたバージョンに更新します。

apt-get update -y

すべてのパッケージが更新されたら、次のステップに進むことができます。

LAMPサーバーをインストールする

まず、Apache、MariaDB、PHP、およびその他の必要な拡張機能をサーバーにインストールする必要があります。次のコマンドですべてをインストールできます:

apt-get install apache2 mariadb-server imagemagick php libapache2-mod-php php-imagick php7.4-common php7.4-mysql php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp

すべてのパッケージをインストールしたら、php.iniファイルを編集します。

nano /etc/php/7.4/apache2/php.ini

次の設定を変更します:

memory_limit = 512M
upload_max_filesize = 32M
max_execution_time = 300
date.timezone = Asia/Kolkata

ファイルを保存して閉じてから、Apacheサービスを再起動して変更を適用します。

systemctl restart apache2

終了したら、次のステップに進むことができます。

ProjectSend用のデータベースを作成する

次に、ProjectSendのデータベースとユーザーを作成する必要があります。

これを行うには、次のコマンドを使用してMariaDBにログインします。

mysql

ログインしたら、次のコマンドを使用してデータベースとユーザーを作成します。

MariaDB [(none)]> create database projectsend;
MariaDB [(none)]> create user [email protected] identified by 'password';

次に、次のコマンドを使用して、projectsendデータベースにすべての権限を付与します。

MariaDB [(none)]> grant all privileges on projectsend.* to [email protected];

次に、特権をフラッシュし、次のコマンドでMariaDBを終了します。

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

終了したら、次のステップに進むことができます。

ProjectSendをダウンロード

次に、ProjectSendの最新バージョンを公式Webサイトからダウンロードする必要があります。次のコマンドでダウンロードできます:

wget -O projectsend.zip https://www.projectsend.org/download/387/

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。

unzip projectsend.zip -d /var/www/html/projectsend

次に、ディレクトリを抽出したディレクトリに変更し、デフォルトの構成ファイルの名前を変更します。

cd /var/www/html/projectsend/includes
cp sys.config.sample.php sys.config.php

次に、次のコマンドを使用して構成ファイルを編集します。

nano sys.config.php

次の設定を変更します:

define('DB_DRIVER', 'mysql');

/** Database name */
define('DB_NAME', 'projectsend');

/** Database host (in most cases it's localhost) */
define('DB_HOST', 'localhost');

/** Database username (must be assigned to the database) */
define('DB_USER', 'projectsend');

/** Database password */
define('DB_PASSWORD', 'password');

ファイルを保存して閉じ、次のコマンドで適切な権限と所有権を設定します。

chown -R www-data:www-data /var/www/html/projectsend
chmod -R 775 /var/www/html/projectsend
chmod 644 /var/www/html/projectsend/includes/sys.config.php

終了したら、次のステップに進むことができます。

ProjectSend用にApacheを構成する

次に、次のコマンドを使用してApache仮想ホスト構成ファイルを作成します。

nano /etc/apache2/sites-available/projectsend.conf

次の行を追加します:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/projectsend/
ServerName projectsend.example.com
<Directory /var/www/html/projectsend/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/example.com-error_log
CustomLog /var/log/apache2/example.com-access_log common
</VirtualHost>

ファイルを保存して閉じてから、次のコマンドで書き換えモジュールと仮想ホスト構成ファイルを有効にします。

a2enmod rewrite
a2ensite projectsend.conf

次に、Apacheサービスを再起動して、変更を適用します。

systemctl restart apache2

次のコマンドを使用して、Apacheのステータスを確認できるようになりました。

systemctl status apache2

次の出力が表示されます。

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-06-02 07:11:08 UTC; 5min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 17680 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 14862 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 25.0M
     CGroup: /system.slice/apache2.service
             ??14862 /usr/sbin/apache2 -k start
             ??17684 /usr/sbin/apache2 -k start
             ??17685 /usr/sbin/apache2 -k start
             ??17686 /usr/sbin/apache2 -k start
             ??17687 /usr/sbin/apache2 -k start
             ??17688 /usr/sbin/apache2 -k start

Jun 02 07:11:08 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

ProjectSendWebインターフェイスにアクセス

次に、Webブラウザーを開き、URL http://projectsend.example.comを使用してProjectSendWebインターフェースにアクセスします。 。次のページが表示されます:

サイト名、サイトURL、管理者ユーザー名、パスワードを入力し、インストールをクリックします ボタン。次のページが表示されます:

次に、ログインをクリックします ボタン。次のページが表示されます:

管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次のページにProjectSendダッシュボードが表示されます。

SSLを暗号化してLet'sで安全なProjectSend

Let'sEncryptSSLを使用してWebサイトを保護することは常に良い考えです。まず、SSLをインストールして管理するためにCertbotクライアントをインストールする必要があります。デフォルトでは、CertbotパッケージはUbuntuのデフォルトリポジトリに含まれているため、次のコマンドでインストールできます。

apt-get install python3-certbot-apache -y

Certbotをインストールしたら、次のコマンドを実行して、Let'sEncryptSSLでWebサイトを保護します。

certbot --apache -d projectsend.example.com

以下に示すように、メールアドレスを提供し、利用規約に同意するよう求められます。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for projectsend.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/projectsend-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/projectsend-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/projectsend-le-ssl.conf

次に、以下に示すように、HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択します。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

2と入力し、Enterキーを押して、WebサイトにLet'sEncryptSSLをインストールします。

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/projectsend.conf to ssl vhost in /etc/apache2/sites-available/projectsend-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://projectsend.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=projectsend.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/projectsend.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/projectsend.example.com/privkey.pem
   Your cert will expire on 2021-12-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
結論

おめでとう!これで、ProjectSendwithApacheとLet'sEncryptSSLがUbuntu20.04に正常にインストールされました。 ProjectSendWebインターフェイスからファイルや画像を簡単に共有できるようになりました。


Ubuntu
  1. Nginxを使用してNextcloudをインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  2. Nginxを使用してMagento2をインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  3. ApacheでWonderCMSをインストールし、CentOS8でSSLを暗号化する方法

  1. Nginxを使用してDrupalをインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  2. Apache2でJoomlaをインストールし、Ubuntu20.04で暗号化する方法

  3. Webminをインストールし、Ubuntu20.04LTSでLetsEncryptSSLを使用して保護する方法

  1. Apacheを使用してVanillaフォーラムをインストールし、Ubuntu20.04LTSでSSLを暗号化する方法

  2. Nginxを使用してShopware6をインストールし、Ubuntu20.04でSSLを暗号化する方法

  3. Ubuntu20.04でSSLを暗号化することでTYPO3CMSをインストールする方法