Як встановити Microweber на CentOS 7
Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам
Apache OpenMeetings — це програма для веб-конференцій з відкритим кодом. Він написаний на Java і підтримує декілька серверів баз даних. Він надає багато функцій, таких як аудіо- та відеоконференції, спільний доступ до екрана, провідник файлів, систему модерації користувачів, приватні повідомлення та контакти, інтегрований календар для планування зустрічей та багато іншого. Ви також можете записати сеанс конференції. Він надає SOAP/REST API і кілька плагінів для легкої інтеграції з Moodle, Jira, Joomla, Confluence тощо.
У цьому підручнику ми будемо використовувати 192.168.1.1
як загальнодоступну IP-адресу та meetings.example.com
як доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі входження в прикладі IP-адреси та імені домену фактичними.
Оновіть свою базову систему за допомогою посібника Як оновити CentOS 7 . Після оновлення системи перейдіть до встановлення Java.
OpenMeetings написаний на Java, тому для роботи потрібне середовище виконання Java (JRE). Завантажте останній доступний пакет Oracle SE JDK 8 RPM, який містить як JRE, так і JDK.
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
Встановіть завантажений пакет.
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Якщо Java встановилася успішно, ви зможете перевірити її версію.
java -version
Ви побачите наступний висновок.
[user@vultr ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Перш ніж ми зможемо продовжити, нам потрібно буде налаштувати змінні середовища JAVA_HOME
та JRE_HOME
. Знайдіть абсолютний шлях до виконуваного файлу JAVA у вашій системі.
readlink -f $(which java)
Ви побачите подібний вихід.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
Тепер встановіть змінні середовища JAVA_HOME
та JRE_HOME
відповідно до шляху до каталогу Java.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile
Виконайте bash_profile
файл.
source ~/.bash_profile
Тепер ви можете запустити echo $JAVA_HOME
команду, щоб переконатися, що змінна середовища встановлено.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
Встановіть бібліотеки ImageMagick і GhostScript.
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagick надає підтримку для завантаження зображень та імпорту їх на дошку. GhostScript дозволяє завантажувати PDF-файли на дошку.
Перевірте версію ImageMagick і GhostScript, щоб переконатися, що вони успішно встановлені.
[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
Крім того, нам також потрібно буде встановити Apache OpenOffice або LibreOffice в систему. Установка будь-якого з них дозволить OpenMeetings імпортувати файли в формати документів Office , таких як .doc
, .docx
, .ppt
, .pptx
, або .xlx
. У цьому підручнику ми встановимо Apache OpenOffice.
Перейдіть у тимчасовий каталог і завантажте Apache OpenOffice RPM.
cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
Розпакуйте архів і встановіть усі пакети RPM.
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm
Щоб перевірити, чи OpenOffice встановлено правильно та працює, введіть openoffice4 -h
командний рядок. Він надрукує його версію та коротку довідку.
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
Встановіть репозиторій RPMFusion у вашій системі, оскільки він надає готові пакети для FFmpeg і Sound eXchange (SoX).
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
Встановіть FFmpeg і SoX.
sudo yum -y install ffmpeg sox
FFmpeg і SoX дозволять запис зустрічі. Вони також допоможуть імпортувати мультимедійні файли, такі як .avi
, .flv
, .mov
та .mp4
на дошку. Перевірте встановлення, перевіривши версії FFmpeg і SoX.
[user@vultr ~]$ sox --version
sox: SoX v14.4.1
[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
OpenMeetings підтримує кілька типів серверів баз даних, таких як MySQL, PostgreSQL, Apache, Derby і Oracle. У цьому підручнику ми будемо використовувати сервер PostgreSQL для розміщення бази даних OpenMeeting.
PostgreSQL - це об'єктно-реляційна система баз даних, відома своєю стабільністю та швидкістю. yum
Репозиторій за замовчуванням містить стару версію PostgreSQL, тому додайте в систему сховище PostgreSQL для останньої версії програми.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Встановіть сервер бази даних PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Ініціалізуйте базу даних.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Запустіть сервер PostgreSQL і ввімкніть його автоматичний запуск під час завантаження.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Змініть пароль для користувача PostgreSQL за замовчуванням.
sudo passwd postgres
Увійдіть як користувач PostgreSQL.
sudo su - postgres
Створіть нового користувача PostgreSQL для користувача OpenMeetings.
createuser openmeetings
Ви можете використовувати будь-яке ім’я користувача замість openmeetings
. Перейдіть до оболонки PostgreSQL.
psql
Встановіть пароль для новоствореного користувача для бази даних OpenMeetings.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Замінити DBPassword
надійним паролем. Створіть нову базу даних для встановлення OpenMeetings.
CREATE DATABASE openmeetings OWNER openmeetings;
Вихід з psql
оболонки.
\q
Перейти до sudo
користувача.
exit
Відредагуйте pg_hba.conf
файл, щоб увімкнути автентифікацію на основі MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Знайдіть наступні рядки та змініть значення в METHOD
стовпці з ident
на md5
.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Після оновлення конфігурація буде виглядати так.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Save the file and exit from the editor. Restart PostgreSQL so that the changes can take effect.
sudo systemctl restart postgresql-10
Since all the required dependencies are installed. Create a new user for OpenMeetings. Using a non-root user for running OpenMeetings is recommended for the security of the server.
sudo adduser -b /var -s /sbin/nologin openmeetings
The above command will also create the home directory of the openmeetings
user in /var/openmeetings
.
Check the Apache OpenMeetings download page to obtain the link to the latest available release. Download the OpenMeetings archive.
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
Extract the archive into the /var/openmeetings
directory.
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
Provide ownership of the files to the OpenMeetings user we have created earlier.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Before we start the application, we will need to modify the firewall to allow ports 5080
and 1935
.
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload
You can now start the application.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
You can now access http://192.168.1.1:5080/openmeetings
in your favorite browser. You will see the welcome screen with instructions to install GhostScript.
Since we have already installed GhostScript, proceed further. On next interface, you will be prompted to provide database server details. Select database type "PostgreSql
" and provide your database server details that you configured during PostgreSQL installation.
Click on the "Check
" button and you should get the message: "Database check was successful
". Provide your administrator account details and a group name in the next interface.
Configure the basic settings of your installation; such as to allow self-registration, email verification, and default language. Also, provide your SMTP server details. If you do not have an SMTP server ready than you can also provide the SMTP details later in the administrator dashboard.
It will ask you for the path to the binaries of different applications. Provide /usr/bin
as the path for ImageMagick, FFmpeg, and SoX. If the application is providing errors for the path entered, then you can use which <binary_name>
to find the absolute path to the binary. For example, which ffmpeg
should give you /usr/bin/ffmpeg
as output. Use /opt/openoffice4
as the path to the OpenOffice binaries.
You can skip the configuration on the next interface since we are going to use the default values. Finally, click the "Finish
" button to install the application and write the database.
OpenMeetings is now installed on your server. To make it more production friendly, we will setup Systemd to manage the OpenMeetings server. We will also configure Nginx with Let's Encrypt SSL as the secured reverse proxy to serve the application.
Though we can easily start and stop the application using the command above, it is recommended to set up a Systemd service unit to manage the application. This will also ensure that the service is automatically started on boot time and failures.
Stop the OpenMeetings server either by pressing "Ctrl+C
" or by killing the shell of the openmeetings
user.
sudo pkill -KILL -u openmeetings
Create a new Systemd unit file for OpenMeetings Server.
sudo nano /etc/systemd/system/openmeetings.service
Populate the file.
[Unit]
Description=OpenMeeting Service
After=network.target
[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings
ExecStart=/var/openmeetings/red5.sh
Restart=always
[Install]
WantedBy=multi-user.target
Start the OpenMeetings server and enable it to automatically start at boot time.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
To check the status of the service, you can run the following.
sudo systemctl status openmeetings
You will see a similar output.
[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
Main PID: 10522 (java)
CGroup: /system.slice/openmeetings.service
└─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # Openmeetings is up ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # 4.0.1 3795f14 2017-12-05T16... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # and ready to use ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.
By default, OpenMeetings listens to port 5080
. If the connection between the browser and server are not encrypted with SSL, then logins and other information will be sent using plain text. This might be a potential threat as someone eavesdropping on the network might obtain the information. To mitigate this issue, we will setup Nginx as the reverse proxy which will listen to the default HTTPS port and will proxy all the requests to the OpenMeetings server.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Установіть Certbot, який є клієнтською програмою для Let's Encrypt CA.
sudo yum -y install certbot
Перш ніж ви зможете запитати сертифікати, вам потрібно буде дозволити порти 80
та/ 443
або стандартні HTTP
та HTTPS
послуги через брандмауер.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Примітка. Щоб отримати сертифікати від Let's Encrypt CA, домен, для якого мають бути створені сертифікати, має бути спрямований на сервер. Якщо ні, внесіть необхідні зміни в записи DNS домену та зачекайте, поки DNS пошириться, перш ніж знову надсилати запит на сертифікат. Certbot перевіряє авторитет домену перед наданням сертифікатів.
Згенеруйте сертифікати SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
Згенеровані сертифікати, ймовірно, зберігатимуться в /etc/letsencrypt/live/meetings.example.com/
. Сертифікат SSL буде збережено як, fullchain.pem
а закритий ключ – як privkey.pem
.
Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою завдань Cron.
Відкрийте файл завдання cron.
sudo crontab -e
Додайте наступний рядок у кінці файлу.
30 5 * * * /usr/bin/certbot renew --quiet
Вищезазначене завдання cron виконуватиметься щодня о 5:30 ранку. Якщо термін дії сертифіката закінчився, його буде автоматично поновлено.
Тепер змініть файл конфігурації Nginx за замовчуванням, щоб видалити default_server
рядок.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Створіть новий файл конфігурації для сервера OpenMeetings.
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
Заповніть файл.
server {
listen 80;
server_name meetings.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name meetings.example.com;
ssl_certificate /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meetings.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/openmeetings.access.log;
location / {
proxy_pass http://localhost:5080;
proxy_set_header host $host;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
}
}
Перевірте наявність помилок у новому файлі конфігурації.
sudo nginx -t
Якщо ви бачите наведений нижче вихід, конфігурація безпомилкова.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Якщо ви отримали якусь помилку, обов’язково перевірте шлях до сертифікатів SSL. Перезапустіть веб-сервер Nginx, щоб змінити конфігурацію.
sudo systemctl restart nginx
Перш ніж ви зможете почати використовувати програму на захищеному SSL сайті, вам потрібно буде змінити конфігурацію в OpenMeetings. Увійдіть на свою адміністративну панель OpenMeetings і перейдіть до " Administration >> Configuration
". У таблиці ID, ключ і значення; знайти application.base.url
. Змініть його значення на https://meetings.example.com
відповідно до вашого доменного імені. Збережіть конфігурацію, натиснувши піктограму збереження вище.
Перезапустіть службу OpenMeetings.
sudo systemctl restart openmeetings
Тепер ви можете перейти до https://meetings.example.com
свого улюбленого веб-браузера та увійти, щоб використовувати програму.
Вітаємо, Apache OpenMeetings тепер встановлено на вашому сервері. Ви можете запросити своїх друзів і почати використовувати OpenMeetings для онлайн-конференцій.
Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам
Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам
Використання іншої системи? Sylius — сучасна платформа електронної комерції для PHP, заснована на Symfony Framework. Джерело Sylius знаходиться на GitHub. Цей посібник буде працювати
Cezerin — це прогресивний веб-додаток для електронної комерції з відкритим кодом, створений за допомогою React і Node.js. У цьому підручнику ви дізнаєтеся, як розгорнути Cezerin для Productio
Використання іншої системи? Apache OpenMeetings — це програма для веб-конференцій з відкритим кодом. Він написаний на Java і підтримує декілька серверів баз даних. я
Використання іншої системи? Mailtrain — це програма для розсилки інформаційних бюлетенів з відкритим вихідним кодом, створена на основі Node.js і MySQL/MariaDB. Джерело Mailtrains знаходиться на GitHub. Ті
Використання іншої системи? Akaunting — це безкоштовне програмне забезпечення для бухгалтерського обліку з відкритим кодом і онлайн, розроблене для малого бізнесу та фрілансерів. Він побудований дотепно
Вступ У цьому підручнику демонструється OpenBSD як рішення для електронної комерції з використанням PrestaShop і Apache. Apache потрібен, оскільки PrestaShop має складну UR
Використання іншої системи? Mailtrain — це програма для розсилки інформаційних бюлетенів з відкритим вихідним кодом, створена на основі Node.js і MySQL/MariaDB. Джерело Mailtrains знаходиться на GitHub. Ті
Використання іншої системи? InvoicePlane — це безкоштовна програма для виставлення рахунків з відкритим кодом. Його вихідний код можна знайти в цьому репозиторії Github. Цей довідник
Використання іншої системи? osTicket — це система продажу квитків з відкритим вихідним кодом. Вихідний код osTicket відкрито розміщено на Github. У цьому підручнику
Використання іншої системи? Open Web Analytics (OWA) — це програма веб-аналітики з відкритим кодом, яку можна використовувати для відстеження та аналізу того, як люди використовують ваш веб-сайт.
Використання іншої системи? Osclass — це проект з відкритим кодом, який дозволяє легко створювати сайт із оголошеннями без будь-яких технічних знань. Його джерело
Використання іншої системи? Apache OpenMeetings — це програма для веб-конференцій з відкритим кодом. Він написаний на Java і підтримує декілька серверів баз даних. я
Використання іншої системи? X-Cart — це надзвичайно гнучка платформа електронної комерції з відкритим вихідним кодом з безліччю функцій та інтеграцій. Вихідний код X-Cart — хост
Використання іншої системи? Вступ Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей довідник
Використання іншої системи? X-Cart — це надзвичайно гнучка платформа електронної комерції з відкритим вихідним кодом з безліччю функцій та інтеграцій. Вихідний код X-Cart — хост
Використання іншої системи? Matomo (раніше Piwik) — це аналітична платформа з відкритим вихідним кодом, відкрита альтернатива Google Analytics. Джерело Matomo розміщено o
Використання іншої системи? Zammad — це служба підтримки та продажу квитків з відкритим кодом, розроблена для команд підтримки клієнтів. З Zammad, обслуговування клієнтів
Використання іншої системи? Zammad — це служба підтримки та продажу квитків з відкритим кодом, розроблена для команд підтримки клієнтів. З Zammad, обслуговування клієнтів
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше