Attendize - это платформа для продажи билетов и управления событиями с открытым исходным кодом, основанная на Laravel PHP Framework. Посещать исходный код публично размещен на Github . Это руководство покажет вам, как установить Attendize на свежий экземпляр Ubuntu 18.04 LTS Vultr.
Требования
	- Nginx
- MySQL
- PHP версии 7.1.3 или выше со следующими расширениями: 
	
		- OpenSSL 
- PDO
- MBstring 
- Tokenizer
- Fileinfo 
- GD 
 
Прежде чем вы начнете
Проверьте версию Ubuntu.
lsb_release -ds
# Ubuntu 18.04 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
Установить git, unzipи curlпакеты.
sudo apt install -y git unzip curl
Установить PHP
Установите PHP, а также необходимые расширения PHP.
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-opcache php7.2-pgsql
Проверьте версию.
php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
Установите MySQL и создайте базу данных
Установите MySQL.
sudo apt install -y mysql-server
Проверьте версию.
mysql --version && sudo mysqld --version
# mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper
# mysqld  Ver 5.7.23-0ubuntu0.18.04.1 for Linux on x86_64 ((Ubuntu))
Запустите mysql_secure installationдля повышения безопасности и установите пароль для rootпользователя MySQL .
sudo mysql_secure_installation
Would you like to setup VALIDATE PASSWORD plugin? N
Please set the password for root here.
New password: **********************
Re-enter new password: **********************
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
Success.
All done!
Войдите в MySQL как пользователь root.
sudo mysql -u root -p
# Enter password
Создайте базу данных и пользователя, которые вы будете использовать для установки Attendize, и запомните учетные данные.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit
Установите Nginx.
sudo apt install -y nginx
Проверьте версию.
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Запустите sudo vim /etc/nginx/sites-available/attendize.confи заполните файл следующей конфигурацией.
server {
    listen 80;
    listen [::]:80;
    server_name example.com; # Check this
    root /var/www/attendize/public; # Check this
    index index.php;
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # Check this
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Активируйте новую attendize.confконфигурацию, связав файл с sites-enabledкаталогом.
sudo ln -s /etc/nginx/sites-available/attendize.conf /etc/nginx/sites-enabled/
Протестируйте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Установите Composer
Установите Composer глобально.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Проверьте версию.
composer --version
# Composer version 1.7.2 2018-08-16 16:57:12
Установить Attendize
Создайте корневой каталог документа.
sudo mkdir -p /var/www/attendize
Изменить владельца /var/www/attendizeкаталога на johndoe.
sudo chown -R johndoe:johndoe /var/www/attendize
Перейдите в корневой каталог документа.
cd /var/www/attendize
Загрузите последнюю версию Attendize и распакуйте ее.
wget https://github.com/Attendize/Attendize/archive/v1.1.1.zip
unzip v1.1.1.zip
rm v1.1.1.zip
mv Attendize-1.1.1/* . && mv Attendize-1.1.1/.* .
rmdir Attendize-1.1.1
Сделайте копию файла конфигурации среды.
cp .env.example .env
Запустите composer для установки различных библиотек.
composer install
ПРИМЕЧАНИЕ.  Если в вашей системе менее 2 ГБ памяти, вы можете столкнуться с ошибками при запуске composer install. Чтобы преодолеть это, настройте больший объем подкачки памяти.
Создайте ключ приложения.
php artisan key:generate
Изменить владельца /var/www/attendizeкаталога на www-data.
sudo chown -R www-data:www-data /var/www/attendize
Перейдите к, http://example.com/installи вы увидите экран установщика.

После следования инструкциям на экране Attendize будет установлен.