ProjectSend je bezplatná a open source aplikace pro sdílení souborů a obrázků, která vám pomůže sdílet soubory mezi vaší společností a klienty. Jedná se o klientsky orientovaný nástroj pro sdílení souborů, který vám umožňuje nahrávat a sdílet soubory neomezené velikosti na libovolném serveru. Je napsán v PHP a k ukládání informací používá databázi MySQL. Nabízí bohatou sadu funkcí včetně statistik v reálném čase, vlastní registrace, vlastního přihlášení, vlastních e-mailových šablon a dalších.
V tomto příspěvku vám ukážeme, jak nainstalovat aplikaci ProjectSend pro sdílení souborů s Apache a Let's Encrypt SSL na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve aktualizujte systémové balíčky na aktualizovanou verzi spuštěním následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.
Instalovat LAMP Server
Nejprve budete muset nainstalovat Apache, MariaDB, PHP a další požadovaná rozšíření na váš server. Všechny je můžete nainstalovat pomocí následujícího příkazu:
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
Po instalaci všech balíčků upravte soubor php.ini:
nano /etc/php/7.4/apache2/php.ini
Změňte následující nastavení:
memory_limit = 512M upload_max_filesize = 32M max_execution_time = 300 date.timezone = Asia/Kolkata
Uložte a zavřete soubor a poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvořit databázi pro ProjectSend
Dále budete muset vytvořit databázi a uživatele pro ProjectSend.
Chcete-li tak učinit, přihlaste se do MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> create database projectsend;
MariaDB [(none)]> create user [email protected] identified by 'password';
Dále udělte všechna oprávnění databázi projectend pomocí následujícího příkazu:
MariaDB [(none)]> grant all privileges on projectsend.* to [email protected];
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Stáhnout ProjectSend
Dále si budete muset stáhnout nejnovější verzi ProjectSend z jeho oficiálních stránek. Můžete si jej stáhnout pomocí následujícího příkazu:
wget -O projectsend.zip https://www.projectsend.org/download/387/
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
unzip projectsend.zip -d /var/www/html/projectsend
Dále změňte adresář na extrahovaný adresář a přejmenujte výchozí konfigurační soubor:
cd /var/www/html/projectsend/includes
cp sys.config.sample.php sys.config.php
Dále upravte konfigurační soubor pomocí následujícího příkazu:
nano sys.config.php
Změňte následující nastavení:
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');
Uložte a zavřete soubor a poté nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:
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
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat Apache pro ProjectSend
Dále vytvořte konfigurační soubor virtuálního hostitele Apache pomocí následujícího příkazu:
nano /etc/apache2/sites-available/projectsend.conf
Přidejte následující řádky:
<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>
Uložte a zavřete soubor a poté povolte přepisovací modul a konfigurační soubor virtuálního hostitele pomocí následujícího příkazu:
a2enmod rewrite
a2ensite projectsend.conf
Poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Nyní můžete zkontrolovat stav Apache pomocí následujícího příkazu:
systemctl status apache2
Měli byste vidět následující výstup:
? 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...
Přístup k webovému rozhraní ProjectSend
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní ProjectSend pomocí adresy URL http://projectsend.example.com . Měli byste vidět následující stránku:
Zadejte název svého webu, adresu URL webu, uživatelské jméno správce, heslo a klikněte na tlačítko Instalovat knoflík. Měli byste vidět následující stránku:
Nyní klikněte na Přihlásit se knoflík. Měli byste vidět následující stránku:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět řídicí panel ProjectSend:
Secure ProjectSend s Let's Encrypt SSL
Vždy je dobré zabezpečit svůj web pomocí Let's Encrypt SSL. Nejprve budete muset nainstalovat klienta Certbot, abyste mohli nainstalovat a spravovat SSL. Ve výchozím nastavení je balíček Certbot součástí výchozího úložiště Ubuntu, takže jej můžete nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz k zabezpečení svého webu pomocí Let's Encrypt SSL:
certbot --apache -d projectsend.example.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
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
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
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
Napište 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro váš 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
Závěr
Gratulujeme! úspěšně jste nainstalovali ProjectSend s Apache a Let's Encrypt SSL na Ubuntu 20.04. Nyní můžete snadno sdílet soubory a obrázky z webového rozhraní ProjectSend.