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

Как установить программное обеспечение Attendize Event Management на Ubuntu 18.04 LTS


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

  1. Требования
  2. Установите Nginx, MariaDB и PHP.
  3. Настроить базу данных
  4. Установить Attendize
  5. Настройка Nginx для Attendize
  6. Доступ к участию

Attendize — это бесплатная программа для продажи билетов и управления мероприятиями с открытым исходным кодом, написанная на PHP поверх фреймворка Laravel. Attendize предлагает простое решение для организации общедоступных мероприятий без дополнительной оплаты. С помощью Attendize вы можете легко управлять несколькими организаторами/мероприятиями и статистикой событий в реальном времени. Attendize поддерживает несколько платежных шлюзов, таких как Stripe, PayPal и многие другие. Attendize позволяет встроить виджет продажи билетов в существующий блог WordPress.

В этом руководстве мы объясним, как установить Attendize на сервер Ubuntu 18.04 LTS.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • PHP версии 7.1.3 или выше с расширениями OpenSSL, PDO, Mbstring, Fileinfo, GD и Tokenizer.
  • На вашем сервере настроен пароль root.

Установите Nginx, MariaDB и PHP

Attendize работает на веб-сервере, написанном на PHP, и использует MariaDB для хранения своих данных. Итак, вам нужно будет установить Nginx, MariaDB, PHP и необходимые расширения PHP на вашем сервере. Вы можете установить их все, выполнив следующую команду:

apt-get install apache2 mariadb-server 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 curl git unzip -y

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

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb

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

Настроить базу данных

По умолчанию MariaDB не защищена. Так что вам нужно будет tos ecure это в первую очередь. Вы можете защитить MariaDB с помощью следующего скрипта:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Как только MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

Укажите свой пароль root при появлении запроса. Затем создайте базу данных и пользователя для Attendize с помощью следующей команды:

MariaDB [(none)]> CREATE DATABASE attendizedb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON attendizedb.* TO 'attendize'@'localhost' IDENTIFIED BY "password";

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

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

После создания базы данных можно переходить к следующему шагу.

Установить

Перед загрузкой Attendize вам необходимо установить Composer в вашей системе. Вы можете установить Composer, просто выполнив следующую команду:

curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer

После установки Composer вы можете проверить версию Composer с помощью следующей команды:

composer --version

Вывод должен быть похож на следующий:

Composer version 1.8.6 2019-06-11 15:03:05

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

cd /var/www/html/
git clone https://github.com/Attendize/Attendize attendize

Затем измените каталог для участия и переименуйте файл .env.example:

cd attendize
mv .env.example .env

Затем откройте файл .env в вашем любимом текстовом редакторе:

nano .env

Определите настройки базы данных, как показано ниже:

DB_TYPE=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=attendizedb
DB_USERNAME=attendize
DB_PASSWORD=password 

Сохраните и закройте файл, когда закончите. Затем предоставьте соответствующие разрешения каталогу присутствия с помощью следующей команды:

chown -R www-data:www-data /var/www/html/attendize
chmod -R 755 /var/www/html/attendize

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

Настройте Nginx для Attendize

Затем создайте файл виртуального хоста Nginx для Attendize.

nano /etc/nginx/sites-available/attendize.conf

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

server {
    listen 80;
    listen [::]:80;

    server_name example.com;
    root /var/www/html/attendize/public;

    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;
    }
}

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

ln -s /etc/nginx/sites-available/attendize.conf /etc/nginx/sites-enabled/

Затем проверьте Nginx на наличие синтаксической ошибки с помощью следующей команды:

nginx -t

Вывод должен быть похож на приведенный ниже:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезагрузите службу Nginx и PHP-FPM, чтобы применить все изменения конфигурации:

systemctl reload nginx
systemctl restart php7.2-fpm

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

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-22 05:07:19 UTC; 3s ago
     Docs: man:nginx(8)
  Process: 17781 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 17793 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 17783 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 17794 (nginx)
    Tasks: 2 (limit: 1114)
   CGroup: /system.slice/nginx.service
           ??17794 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??17796 nginx: worker process

Jul 22 05:07:19 ubuntu1804 systemd[1]: Stopped A high performance web server and a reverse proxy server.
Jul 22 05:07:19 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 22 05:07:19 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 22 05:07:19 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.

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

Доступ

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

Убедитесь, что все необходимые расширения установлены. Затем укажите информацию о своей базе данных, адрес электронной почты и нажмите кнопку «УСТАНОВИТЬ УЧАСТИЕ». Вы должны увидеть следующую страницу:

Укажите свое имя, адрес электронной почты и пароль. Затем нажмите на кнопку ЗАРЕГИСТРИРОВАТЬСЯ. Вы должны увидеть следующую страницу:

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

Теперь укажите имя организатора, адрес электронной почты, описание и нажмите кнопку СОЗДАТЬ ОРГАНИЗАТОР. Вы должны увидеть следующую страницу:

Поздравляем! вы успешно установили приложение Attendize для продажи билетов и управления мероприятиями на свой сервер Ubuntu 18.04. Теперь вы можете организовывать неограниченное количество мероприятий и управлять ими без каких-либо дополнительных затрат с помощью Attendize. Дополнительную информацию можно найти в официальной документации Attendize по адресу Attendize Doc.