Как да инсталирате 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 Runtime Environment (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 Server.
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. Това ръководство ще ви покаже
Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок
Използване на различна система? Sylius е модерна платформа за електронна търговия за PHP, базирана на Symfony Framework. Източникът на Sylius е в GitHub. Това ръководство ще wal
Cezerin е прогресивно уеб приложение за електронна търговия с отворен код, създадено с помощта на React и Node.js. В този урок ще научите как да разположите Cezerin за production
Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Akaunting е безплатен, отворен код и онлайн счетоводен софтуер, предназначен за малки фирми и служители на свободна практика. Изградено е остроумно
Използване на различна система? 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) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт
Използване на различна система? Open Web Analytics (OWA) е програма за уеб анализ с отворен код, която може да се използва за проследяване и анализиране на начина, по който хората използват вашия уебсайт
Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник
Използване на различна система? Osclass е проект с отворен код, който ви позволява лесно да създадете сайт за обяви без никакви технически познания. Неговият източник
Използване на различна система? Apache OpenMeetings е приложение за уеб конференции с отворен код. Той е написан на Java и поддържа множество сървъри за бази данни. аз
Използване на различна система? X-Cart е изключително гъвкава платформа за електронна търговия с отворен код с множество функции и интеграции. Изходният код на X-Cart е хост
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече