Как установить InvoicePlane с Nginx на FreeBSD 12
На этой странице
- Требования
- Предпосылки
- Начальные шаги
- Шаг 1. Установите PHP и необходимые расширения PHP
- Шаг 2. Установите MySQL
- Шаг 3. Установите acme.shbclient и получите сертификат Lets Encrypt (необязательно)
- Шаг 3. Установите NGINX
- Шаг 4. Установите InvoicePlane
- Шаг 5. Завершите настройку InvoicePlane
- Ссылки
InvoicePlane – это бесплатное приложение для выставления счетов с открытым исходным кодом. В этом руководстве показано, как установить InvoicePlane в системе FreeBSD 12.
Требования
- Веб-сервер (Apache, NGINX). В этом руководстве будет использоваться Nginx.
- MySQL 5.5 или более поздней версии или эквивалентная версия MariaDB.
- PHP версии 7.0, 7.1 или 7.2 со следующими установленными и активированными расширениями PHP:
- php-gd
- php-хэш
- php-json
- php-mbstring
- php-mcrypt
- php-mysqli
- php-openssl
- php-перекодировать
- php-xmlrpc
- php-zlib
Предпосылки
- Сервер с FreeBSD 12.
- Пользователь без полномочий root с привилегиями sudo.
Начальные шаги
Проверьте свою версию FreeBSD:
uname -ro
# FreeBSD 12.1-RELEASE
Настройте часовой пояс:
tzsetup
Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:
freebsd-update fetch install
pkg update && pkg upgrade -y
Установите несколько основных пакетов, необходимых для базового администрирования операционной системы FreeBSD 12.0:
pkg install -y sudo vim unzip wget bash
Шаг 1. Установите PHP и необходимые расширения PHP
Для веб-приложения InvoicePlane требуется PHP версии 7.0 или выше.
Установите PHP, а также необходимые расширения PHP:
sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-mysqli php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache
Проверьте версию PHP:
php --version
# PHP 7.2.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies
Включите и запустите службу PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Шаг 2. Установите MySQL
Установите сервер базы данных MySQL:
sudo pkg install -y mysql57-server
Проверьте версию MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using EditLine wrapper
Включите и запустите службу MySQL:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Запустите скрипт установки mysql_secure
, чтобы повысить безопасность MySQL, и установите пароль для пользователя MySQL root
:
sudo mysql_secure_installation
Ответьте на каждый из вопросов:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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
Подключитесь к оболочке MySQL как пользователь root:
sudo mysql -u root -p
# Enter password
Создайте пустую базу данных MySQL и пользователя для Matomo и запомните учетные данные:
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Выход из MySQL:
exit
Замените dbname
, username
и password
своими именами.
Шаг 3. Установите acme.shbclient и получите сертификат Lets Encrypt (необязательно)
Защита вашего веб-сайта с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить сертификат TLS от Lets Encrypt, мы будем использовать клиент Acme.sh. Acme.sh — это чистое программное обеспечение оболочки UNIX для получения сертификатов TLS от Lets Encrypt без каких-либо зависимостей. 
Загрузите и установите Acme.sh:
sudo pkg install -y acme.sh
Проверьте версию Acme.sh:
acme.sh --version
# v2.8.2
Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:<br>
# RSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
После выполнения приведенных выше команд ваши сертификаты и ключи будут в:
- Для RSA: каталог
/etc/letsencrypt/example.com
. - Для ECC/ECDSA: каталог
/etc/letsencrypt/example.com_ecc
.
Шаг 3 — Установите NGINX
Установите веб-сервер NGINX:
sudo pkg install -y nginx
Проверьте версию NGINX:
nginx -v
# nginx version: nginx/1.14.2
Запустите и включите сервис NGINX:
sudo sysrc nginx_enable=yes
sudo service nginx start
Настройте Nginx для InvoicePlane, выполнив:
sudo vim /usr/local/etc/nginx/invoiceplane.conf
И заполните файл следующей конфигурацией:
server {
listen 80;
listen [::]:80;
server_name example.com;
root /usr/local/www/invoiceplane;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_index index.php5;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Протестируйте конфигурацию NGINX:
sudo nginx -t
Перезагрузите NGINX:
sudo service nginx restart
Шаг 4 — Установите InvoicePlane
Загрузите последнюю стабильную версию InvoicePlane и распакуйте архив:
sudo mkdir -p /usr/local/www
cd /usr/local/www
sudo curl -O -J -L https://invoiceplane.com/download/v1.5.9
sudo unzip v1.5.9.zip
sudo rm v1.5.9.zip
sudo mv ip invoiceplane
Перейдите в каталог /var/www/invoiceplane
:
cd /usr/local/www/invoiceplane
Сделайте копию файла ipconfig.php.example
и переименуйте копию в ipconfig.php:
sudo cp ipconfig.php.example ipconfig.php
Откройте файл ipconfig.php
и добавьте в него свой URL:
sudo vim ipconfig.php
# Something like this
IP_URL=http://example.com
Измените владельца каталога /usr/local/www/invoiceplane
на www:
sudo chown -R www:www /usr/local/www/invoiceplane
Запустите sudo vim /etc/php.ini
и установите date.timezone:
date.timezone = Region/City
Перезапустите службу PHP-FPM:
sudo service php-fpm restart
Запустите установщик InvoicePlane из веб-браузера и следуйте инструкциям:
http://example.com/index.php/setup
После завершения установки вы можете войти в InvoicePlane, используя адрес электронной почты и пароль, которые вы выбрали во время установки.
Если вы хотите защитить свою установку, вы можете отключить установку. Для этого замените строку DISABLE_SETUP=false
на строку DISABLE_SETUP=true
в файле ipconfig.php
.
Шаг 5. Завершите настройку InvoicePlane
InvoicePlane теперь установлен и настроен, пришло время получить доступ к мастеру веб-установки.
Откройте веб-браузер и введите URL-адрес http://example.com. Вы будете перенаправлены на следующую страницу:
Теперь нажмите кнопку «Настройка». Вы должны увидеть следующую страницу:
Затем выберите язык и нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:
Далее нажмите на кнопку Продолжить. Вы должны увидеть следующую страницу:
Здесь укажите данные своей базы данных и нажмите кнопку «Попробовать еще раз». Вы должны увидеть следующую страницу:
Теперь нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:
Теперь нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:
Теперь предоставьте все необходимые данные, затем нажмите кнопку «Продолжить». После завершения установки вы должны увидеть следующую страницу:
Теперь нажмите кнопку «Войти», чтобы получить доступ к администрированию InvoicePlane.
Ссылки
- https://invoiceplane.com/
- https://github.com/InvoicePlane/InvoicePlane