InvoicePlane - это бесплатное приложение для выставления счетов с открытым исходным кодом. Его исходный код можно найти в этом хранилище Github . Это руководство покажет вам, как установить InvoicePlane на свежий экземпляр Ubuntu 16.04 Vultr.
Требования
	- Nginx
- MySQL версии 5.5 или выше
- Версия PHP 7.0
- Следующие расширения PHP должны быть установлены и активированы: 
	
		- php-gd
- php-hash
- php-json
- php-mbstring
- php-mcrypt
- php-mysqli
- php-openssl
- php-recode
- php-xmlrpc
- php-zlib
 
Прежде чем вы начнете
Проверьте версию Ubuntu.
lsb_release -ds
# Ubuntu 16.04.4 LTS
Создайте новую non-rootучетную запись пользователя с sudoдоступом и переключитесь на нее.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
ПРИМЕЧАНИЕ . Замените johndoeна свое имя пользователя .
Установите часовой пояс.
sudo dpkg-reconfigure tzdata
Убедитесь, что ваша система обновлена.
sudo apt update && sudo apt upgrade -y
Установить build-essentialи unzipпакеты.
sudo apt install -y build-essential unzip
Установите PHP и необходимые расширения PHP
Установите PHP и необходимые расширения PHP.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xmlrpc php7.0-common
Проверьте версию.
php -v
Установите MySQL
Установите MySQL.
sudo apt install -y mysql-server-5.7
Проверьте версию.
mysql --version
Запустите mysql_secure installationскрипт для повышения безопасности MySQL.
sudo mysql_secure_installation
Подключитесь к оболочке MySQL от имени пользователя root.
mysql -u root -p
# Enter password:
Создайте пустую базу данных MySQL и пользователя для InvoicePlane и запомните учетные данные.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Выход из MySQL.
exit
Установить Nginx
Установите Nginx.
sudo apt install -y nginx
Проверьте версию.
sudo nginx -v
Настройте Nginx для InvoicePlane. Запустите sudo vim /etc/nginx/sites-available/invoiceplane.confи заполните файл следующей конфигурацией.
server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    root /var/www/invoiceplane;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        fastcgi_index index.php;
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}
Активируйте новую invoiceplane.confконфигурацию, связав файл с sites-enabledкаталогом.
sudo ln -s /etc/nginx/sites-available/invoiceplane.conf /etc/nginx/sites-enabled/
Протестируйте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Установить InvoicePlane
Загрузите последнюю стабильную версию InvoicePlane и распакуйте архив.
cd /var/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 /var/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
ПРИМЕЧАНИЕ.  Не забудьте заменить http://example.comURL своим собственным.
Изменить владельца /var/www/invoiceplaneкаталога на www-data.
sudo chown -R www-data:www-data /var/www/invoiceplane
Запустите установщик InvoicePlane из веб-браузера и следуйте инструкциям.
http://your-domain.com/index.php/setup
После завершения установки вы можете войти в InvoicePlane, используя адрес электронной почты и пароль, которые вы выбрали во время установки.
Если вы хотите защитить вашу установку, вы можете отключить установку. Для этого замените строку DISABLE_SETUP=falseс DISABLE_SETUP=trueв вашем ipconfig.phpфайле.