GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ProjectSend avec Apache et Lets Encrypt SSL sur Ubuntu 20.04

ProjectSend est une application gratuite et open-source de partage de fichiers et d'images qui vous aide à partager des fichiers entre votre entreprise et vos clients. Il s'agit d'un outil de partage de fichiers orienté client qui vous permet de télécharger et de partager une taille de fichier illimitée sur n'importe quel serveur. Il est écrit en PHP et utilise une base de données MySQL pour stocker les informations. Il offre un riche ensemble de fonctionnalités, notamment des statistiques en temps réel, l'auto-inscription, l'auto-connexion, des modèles d'e-mail personnalisés, etc.

Dans cet article, nous vous montrerons comment installer l'application de partage de fichiers ProjectSend avec Apache et Let's Encrypt SSL sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Tout d'abord, mettez à jour les packages système vers la version mise à jour en exécutant la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.

Installer le serveur LAMP

Tout d'abord, vous devrez installer Apache, MariaDB, PHP et les autres extensions requises sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

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

Après avoir installé tous les packages, modifiez le fichier php.ini :

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

Modifiez les paramètres suivants :

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

Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Créer une base de données pour ProjectSend

Ensuite, vous devrez créer une base de données et un utilisateur pour ProjectSend.

Pour ce faire, connectez-vous à MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

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

Ensuite, accordez tous les privilèges à la base de données projectsend avec la commande suivante :

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

Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :

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

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Télécharger ProjectSend

Ensuite, vous devrez télécharger la dernière version de ProjectSend à partir de son site officiel. Vous pouvez le télécharger avec la commande suivante :

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

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

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

Ensuite, changez le répertoire vers le répertoire extrait et renommez le fichier de configuration par défaut :

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

Ensuite, modifiez le fichier de configuration avec la commande suivante :

nano sys.config.php

Modifiez les paramètres suivants :

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');

Enregistrez et fermez le fichier, puis définissez les autorisations et la propriété appropriées avec la commande suivante :

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

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Apache pour ProjectSend

Ensuite, créez un fichier de configuration d'hôte virtuel apache avec la commande suivante :

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

Ajoutez les lignes suivantes :

<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>

Enregistrez et fermez le fichier puis activez le module de réécriture et le fichier de configuration de l'hôte virtuel avec la commande suivante :

a2enmod rewrite
a2ensite projectsend.conf

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Vous pouvez maintenant vérifier l'état de l'Apache avec la commande suivante :

systemctl status apache2

Vous devriez voir le résultat suivant :

? 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...

Accéder à l'interface Web ProjectSend

Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de ProjectSend à l'aide de l'URL http://projectsend.example.com . Vous devriez voir la page suivante :

Indiquez le nom de votre site, l'URL du site, le nom d'utilisateur de l'administrateur, le mot de passe, puis cliquez sur Installer bouton. Vous devriez voir la page suivante :

Maintenant, cliquez sur Connexion bouton. Vous devriez voir la page suivante :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord ProjectSend sur la page suivante :

Sécuriser ProjectSend avec Let's Encrypt SSL

C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Tout d'abord, vous devrez installer le client Certbot pour installer et gérer le SSL. Par défaut, le package Certbot est inclus dans le référentiel par défaut d'Ubuntu, vous pouvez donc l'installer avec la commande suivante :

apt-get install python3-certbot-apache -y

Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :

certbot --apache -d projectsend.example.com

Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

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

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

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

Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :

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

Conclusion

Toutes nos félicitations! vous avez installé avec succès ProjectSend avec Apache et Let's Encrypt SSL sur Ubuntu 20.04. Vous pouvez désormais partager facilement des fichiers et des images depuis l'interface Web de ProjectSend.


Ubuntu
  1. Comment installer Nextcloud avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  2. Comment installer Magento 2 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  3. Comment installer WonderCMS avec Apache et Lets Encrypt SSL sur CentOS 8

  4. Comment installer Drupal avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  5. Comment installer Joomla avec Apache2 et Lets Encrypt sur Ubuntu 20.04

Comment installer Drupal avec Apache et Lets Encrypt SSL sur Debian 11

Installez TaskBoard avec Apache et laissez Encrypt SSL sur Debian 11

Comment installer Moodle avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer MediaWiki avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Gitea avec Nginx et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Comment installer Let's Encrypt SSL sur Ubuntu avec Apache