Поиск по сайту:

Как установить ProjectSend с Apache и Lets Encrypt SSL в Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить сервер LAMP
  4. Создание базы данных для ProjectSend
  5. Загрузить ProjectSend
  6. Настройка Apache для ProjectSend
  7. Доступ к веб-интерфейсу ProjectSend
  8. Защитите ProjectSend с помощью Lets Encrypt SSL
  9. Заключение

ProjectSend — это бесплатное приложение для обмена файлами и изображениями с открытым исходным кодом, которое помогает вам обмениваться файлами между вашей компанией и клиентами. Это ориентированный на клиента инструмент для обмена файлами, который позволяет загружать файлы неограниченного размера и делиться ими на любом сервере. Он написан на PHP и использует базу данных MySQL для хранения информации. Он предлагает богатый набор функций, включая статистику в реальном времени, самостоятельную регистрацию, самостоятельный вход в систему, настраиваемые шаблоны электронной почты и многое другое.

В этом посте мы покажем вам, как установить приложение для обмена файлами ProjectSend с Apache и Lets Encrypt SSL в Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Начиная

Сначала обновите системные пакеты до обновленной версии, выполнив следующую команду:

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 identified by 'password';

Затем предоставьте все привилегии базе данных ProjectSend с помощью следующей команды:

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

Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать проектОтправить

Далее вам нужно будет скачать последнюю версию ProjectSend с официального сайта. Вы можете скачать его с помощью следующей команды:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Apache для ProjectSend

Затем создайте файл конфигурации виртуального хоста Apache с помощью следующей команды:

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

Добавьте следующие строки:

<VirtualHost *:80>
ServerAdmin 
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 ubunt4 systemd[1]: Starting The Apache HTTP Server...

Доступ к веб-интерфейсу ProjectSend

Теперь откройте веб-браузер и войдите в веб-интерфейс ProjectSend, используя URL-адрес http://projectsend.example.com. Вы должны увидеть следующую страницу:

Укажите имя своего сайта, URL-адрес сайта, имя пользователя администратора, пароль и нажмите кнопку «Установить». Вы должны увидеть следующую страницу:

Теперь нажмите на кнопку Войти. Вы должны увидеть следующую страницу:

Введите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов ProjectSend на следующей странице:

Защитите ProjectSend с помощью Lets Encrypt SSL

Всегда полезно защитить свой сайт с помощью Lets Encrypt SSL. Во-первых, вам нужно будет установить клиент Certbot для установки и управления SSL. По умолчанию пакет Certbot включен в репозиторий Ubuntu по умолчанию, поэтому вы можете установить его с помощью следующей команды:

apt-get install python3-certbot-apache -y

После установки Certbot выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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, чтобы установить Lets Encrypt SSL для вашего сайта:

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

Заключение

Поздравляем! вы успешно установили ProjectSend с Apache и Lets Encrypt SSL в Ubuntu 20.04. Теперь вы можете легко обмениваться файлами и изображениями через веб-интерфейс ProjectSend.