Installation und Konfiguration eines unternehmensweiten Open-Source-Buchungssystems auf Centos 7

In der heutigen Geschäftswelt ist es zunehmend notwendig, Arbeitsbereiche, Labore, Tools und andere Arten von Ressourcen gemeinsam zu nutzen. Die optimale Nutzung der verfügbaren Ressourcen ist zu einem Wettbewerbsvorteil für moderne Unternehmen geworden.

Jedes Unternehmen hat endliche Ressourcen, so gibt es einen Streit über die Nutzung dieser Ressourcen durch alle Mitglieder, das ist der Punkt, der Streit über diese Ressourcen kann zu Problemen unter den Mitarbeitern, Verschleiß der Beziehungen und Unproduktivität in der Organisation führen.
Diese Diskussion scheint weit entfernt von der Technologie zu sein, aber um diese Art von Problem zu lösen, sind viele kostenlose Software verfügbar und in diesem Artikel schreibe ich über ein Unternehmenswerkzeug, das in der Lage ist, die Nutzung von Ressourcen auf faire und effektive Weise zu organisieren.

Software-Übersicht

Booked ist eine Open-Source-Software in PHP und MySQL, die Unternehmen und Gruppen bei der effizienten Verwaltung, Aufzeichnung und Verfolgung von Ressourcen jeglicher Art unterstützt und es ihnen ermöglicht, Zeitpläne zu erstellen, damit Benutzer die für die Ressourcennutzung verfügbaren Zeitpläne finden können.

Gebucht ermöglicht eine faire Verteilung der Ressourcen durch die Nutzung von Quoten. Darüber hinaus können Sie den Ressourcenverbrauch durch Reservegenehmigungen steuern. Es kann auch ein automatischer Bereich zwischen den Reservierungen einer Ressource konfiguriert werden.

Booked enthält großartige Unternehmensfunktionen wie Unterstützung für viele Sprachen, webbasiert, mobile First, Berichtssystem, Erinnerungen, LDAP, Active Directory, ical files zur Integration mit E-Mail-Clients und mehr.

Die Umwelt

Dieser Artikel behandelt die gebuchte Installation und die Grundkonfiguration. Dieser Artikel wurde auf der Grundlage der folgenden Umgebung geschrieben: Eine Virtual Box VM mit CENTOS 7 Minimal, 2GB RAM, 8GB HD und 2 Netzwerkschnittstellen (Host-only und NAT).

Sicherheit

Dieser Artikel behandelt dieses komplexe und umfangreiche Thema nicht vollständig. Dabei lag der Schwerpunkt auf der einfachen S.O.-Konfiguration und der gebuchten Systemkonfiguration.

Vorbereitung

Angenommen, Sie verwenden eine Neuinstallation von Centos 7 Minimal, bevor Sie Booked installieren, führen Sie den folgenden Befehl aus, um das System zu aktualisieren und zusätzliche Pakete zu installieren:

yum update
Transaction Summary ================================================================================ Install 1 Package Upgrade 39 Packages Total download size: 91 M Is this ok [y/d/N]: y

Installieren Sie Ihren bevorzugten Texteditor oder verwenden Sie VI. In diesem Artikel verwende ich VIM, um es zu installieren, führen Sie den folgenden Befehl aus:

yum install vim

Installieren Sie das WGET-Paket, führen Sie den folgenden Befehl aus:

yum install wget

UNZIP-Paket installieren, führen Sie den folgenden Befehl aus:

yum install unzip

Um das Netzwerk zu konfigurieren, führen Sie den folgenden Befehl aus, um das NMTUI (Network Manager Text User Interface) Tool zu öffnen und die Netzwerkschnittstellen und den Hostnamen nach Ihren Wünschen zu bearbeiten:

nmtui

Nachdem Sie die Netzwerkeinstellungen und den Hostnamen unter CentOS 7 eingerichtet haben, führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen:

service networks restart

Um die Netzwerkinformationen zu überprüfen, führen Sie den folgenden Befehl aus:

ip addr

Die Ausgabe sieht so aus:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:67:bc:73 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 84631sec preferred_lft 84631sec
inet6 fe80::9e25:c982:1091:90eb/64 scope link 
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:68:88:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8
valid_lft 1044sec preferred_lft 1044sec
inet6 fe80::a00:27ff:fe68:88f3/64 scope link 
valid_lft forever preferred_lft forever

Deaktivieren Sie SELINUX (Security Enhanced Linux) auf Centos 7, bearbeiten Sie die folgende Konfigurationsdatei:

vim /etc/selinux/config
"/etc/selinux/config" 14L, 547C# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are prootected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Ändern Sie den Wert für die Durchsetzung der Direktive SELINUX auf disabled, speichern Sie die Datei und starten Sie den Server neu.

Um den Status von SELinux auf Centos 7 zu überprüfen, führen Sie den folgenden Befehl aus:

getenforce

Der Ausgang muss sein:

Disabled

Um FirewallD auf Centos 7 zu deaktivieren, führen Sie die folgenden Befehle aus:

systemctl disable firewalld
systemctl stop firewalld

Um den Firewall-Status von Centos 7 zu überprüfen, führen Sie den folgenden Befehl aus:

systemctl status firewalld

MariaDB, Apache und PHP auf Centos 7 installieren

Um MariaDB auf Centos 7 zu installieren, führen Sie den folgenden Befehl aus:

 

yum -y install mariadb-server

Um MariaDB zu starten, führen Sie den folgenden Befehl aus:

systemctl start mariadb

Um die Sicherheit von MariaDB zu erhöhen, führen Sie den folgenden Befehl aus:

/usr/bin/mysql_secure_installation

Stellen Sie die Optionen entsprechend der folgenden Ausgabe ein oder verwenden Sie Ihre eigenen Einstellungen:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

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):<Press Enter>

 

OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] <Press Y>


Richten Sie das Root-Passwort ein:
New password: *******
Re-enter new password: ******* 
Password updated successfully!
Reloading privilege tables..
 ... Success!

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] <Press 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] <Choose acording your needs>

… 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] <Press 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] <Press 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!

 

Richten Sie MariaDB so ein, dass es automatisch mit dem Centos 7 startet:

systemctl enable mariadb.service

Um den Apache zu installieren, führen Sie den folgenden Befehl aus:

yum install httpd

Um den Apache zu starten, führen Sie den folgenden Befehl aus:

systemctl start httpd.service

Apache zum Starten einrichten automatischmit dem Centos 7:

systemctl enable httpd.service

Um den Apache zu testen, geben Sie in Ihrem Webbrowser die IP-Adresse Ihres Servers ein. Wenn alles richtig ist, sehen Sie eine Testseite:

Um PHP zu installieren, führen Sie den folgenden Befehl aus:

yum install php php-mysql

Starten Sie den Apache neu, führen Sie den folgenden Befehl aus:

systemctl restart httpd.service

Um PHP zu testen, erstellen Sie eine Datei phpinfo.php im Verzeichnis /var/wwww/html mit folgendem Inhalt:

<?php phpinfo(); ?>

Nun können Sie über den Browser mit folgender URL auf die phpinfo.php zugreifen: http://[your-ip-addres]/phpinfo.php. Wenn alles in Ordnung ist, sehen Sie die folgende Seite:

Einrichten der Datenbank über das Terminal

Greifen Sie über das Terminal auf die MariaDB zu und erstellen Sie den Datenbank-Buchungsscheduler und den Benutzer booked_user mit ausreichenden Rechten zur Verwaltung dieser Datenbank. Führen Sie die folgenden Befehle aus, um das Terminal zu durchlaufen:

 mysql -u root -p

Erstellen Sie eine bookedscheduler Datenbank:

MariaDB [(none)]> create database bookedscheduler;

Erstelle booked_user auf MariaDb:

CREATE USER 'booked_user'@'localhost' IDENTIFIED BY 'your_password';

Vergabe von Berechtigungen an den Benutzer booked_user an die bookedscheduler-Datenbank:

GRANT ALL PRIVILEGES ON database.bookedscheduler TO 'booked_user'@'localhost';

Importieren Sie gebuchte Datenbankschemata und Daten aus dem Verzeichnis /var/www/html/booked/database_schema/, die folgenden SQL-Dateien müssen importiert werden, create_schema.sql und create-data.sql:

 mysql -u root -p bookedscheduler < create-schema.sql
 mysql -u root -p bookedscheduler < create-data.sql

Einrichten der Datenbank über den PHPMyAdmin

PHPMyAdmin auf Centos 7 installieren (optional)

PHPMyAdmin ist ein Werkzeug, um mysql (mariaDB) Datenbanken auf einfache Weise über einen Browser zu verwalten. Um phpmyadmin automatisch zu installieren, müssen Sie das Epel-Repository installieren und den folgenden Befehl ausführen:

yum install epel-release

Nun können Sie den folgenden Befehl ausführen:

yum install phpmyadmin

Nach der Installation von PHPMyAdmin müssen wir es konfigurieren. Erstellen Sie zunächst eine Kopie der Konfigurationsdatei und bearbeiten Sie die Datei phpMyAdmin.conf in /etc/httpd/conf.d/:

cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.old
vim /etc/httpd/conf.d/phpMyAdmin.conf

Ändern Sie die Werte entsprechend Ihrer Netzwerkumgebung, in meinem Fall habe ich folgende Zeilen (17, 25, 34, 42) geändert. Meine Konfigurationsdatei sieht so aus:

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip 192.168.56.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 192.168.56.1
Allow from ::1
</IfModule>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 192.168.56.1
Allow from ::1
</IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/lib/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/setup/frames/>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin/>
# SecRuleInheritance Off
# </Directory>
#</IfModule>

Starten Sie den Apache neu, führen Sie den folgenden Befehl aus:

systemctl restart httpd.service

Nun können Sie über den Browser mit folgender URL auf den PHPMyAdmin zugreifen: http://[your-ip-addres]/phpMyAdmin/

Verwenden Sie Ihr Root-Konto und das zuvor in der MariaDB-Installation definierte Passwort, um die Datenbank und den Benutzer zu erstellen. Wählen Sie im Dashboard die Option Datenbanken, um eine neue Datenbank zu erstellen:

Füllen Sie das Formular mit dem Datenbanknamen aus und wählen Sie create.

Um die Datenbankdaten zu importieren, wählen Sie im linken Menü die bookedscheduler-Datenbank und den Import aus dem PHPMyAdmin Dashboard, wählen Sie die folgenden Dateien, create-schema.sql (1) und create-data.sql (2), aus den Installationsdateien und importieren Sie sie.

Erstellen Sie den Benutzer booked_user mit den Berechtigungen zur Verwaltung der bookedscheduler-Datenbank. Wählen Sie im PHPMyAdmin-Dashboard Benutzer und Hinzufügen:

Füllen Sie auf dem Bild zur Benutzererstellung die Felder mit der Benutzerdatenbank (booked_user), richten Sie ein Passwort ein und wählen Sie GO am Ende der Seite:

Um die Berechtigungen für booked_user auf der bookedscheduler-Datenbank einzurichten, wählen Sie bookedscheduler aus einer Datenbankliste und wählen Sie Go:

Wählen Sie auf dem Berechtigungsbildschirm die Option Check All and Go:

 

Installation des gebuchten Scheduler Centos 7

Wir haben zwei Möglichkeiten, den Booked Scheduler zu installieren, manuell oder automatisch. Dieser Artikel behandelt nur die manuelle Installation. Um Booked Scheduler auf Centos 7 zu installieren, gehen Sie in das Verzeichnis /tmp und laden Sie den Quellcode herunter:

wget https://ufpr.dl.sourceforge.net/project/phpscheduleit/Booked/2.6/booked-2.6.5.zip

Entpacken Sie die Datei im Verzeichnis /var/wwww/html, führen Sie den folgenden Befehl aus:

unzip booked-2.6.5.zip -d /var/www/html/

Ändert die Berechtigungen der entpackten Datei.

cd /var/www/html/
chown -R apache:apache /booked

Richten Sie die Konfigurationsdatei in /var/wwww/html/booked/config ein. Erstellen Sie eine Kopie der Datei config.dist.php nach config.php und bearbeiten Sie die Blöcke der Konfigurationsdatei (Es ist meine Konfigurationsdatei):

cp config.dist.php config.php

Ändern Sie die Werte entsprechend unserer Umgebung, hier präsentiere ich die wichtigsten Einstellungen zu ändern, und werde informiert, die E-Mail-Adresse wird der Systemadministrator nach der ersten Anmeldung sein:

<?php
/**
Copyright 2011-2016 Nick Korbel
This file is part of Booked Scheduler.

Booked Scheduler is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Booked Scheduler is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Booked Scheduler. If not, see <http://www.gnu.org/licenses/>.
*/

error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);

/**
* Application configuration
*/
$conf['settings']['app.title'] = 'Booked Scheduler'; // application title
$conf['settings']['default.timezone'] = 'America/Chicago'; // Change your time zone - look up here http://php.net/manual/en/timezones.php
$conf['settings']['allow.self.registration'] = 'true'; // if users can register themselves
$conf['settings']['admin.email'] = 'alexandrecostacps@gmail.com'; // fill with the email address of admin user
$conf['settings']['admin.email.name'] = 'Booked Administrator'; // name to be used in From: field when sending automatic emails
$conf['settings']['default.page.size'] = '50'; // number of records per page
$conf['settings']['enable.email'] = 'true'; // global configuration to enable if any emails will be sent
$conf['settings']['default.language'] = 'en_us'; Change acording to your language // find your language in the lang directory
$conf['settings']['script.url'] = 'http://[your-ip-address]/Web'; // public URL to the Web directory of this instance. this is the URL that appears when you are logging in. leave http: or https: off to auto-detect
$conf['settings']['image.upload.directory'] = 'Web/uploads/images'; // full or relative path to where images will be stored
$conf['settings']['image.upload.url'] = 'uploads/images'; // full or relative path to show uploaded images from
$conf['settings']['cache.templates'] = 'true'; // true recommended, caching template files helps web pages render faster
$conf['settings']['use.local.jquery'] = 'false'; // false recommended, delivers jQuery from Google CDN, uses less bandwidth
$conf['settings']['registration.captcha.enabled'] = 'true'; // recommended. unless using recaptcha this requires php_gd2 enabled in php.ini
$conf['settings']['registration.require.email.activation'] = 'true'; // requires enable.email = true
$conf['settings']['registration.auto.subscribe.email'] = 'false'; // requires enable.email = true
$conf['settings']['registration.notify.admin'] = 'true'; // whether the registration of a new user sends an email to the admin (ala phpScheduleIt 1.2)
$conf['settings']['inactivity.timeout'] = '30'; // minutes before the user is automatically logged out
$conf['settings']['name.format'] = '{first} {last}'; // display format when showing user names
$conf['settings']['css.extension.file'] = ''; // full or relative url to an additional css file to include. this can be used to override the default style
$conf['settings']['disable.password.reset'] = 'false'; // if the password reset functionality should be disabled
$conf['settings']['home.url'] = 'your-intranet-portal-url'; // the url to open when the logo is clicked
$conf['settings']['logout.url'] = 'your-intranet-portal-url'; // the url to be directed to after logging out
$conf['settings']['default.homepage'] = '1'; // the default homepage to use when new users register (1 = Dashboard, 2 = Schedule, 3 = My Calendar, 4 = Resource Calendar)

$conf['settings']['schedule']['use.per.user.colors'] = 'false'; // color reservations by user
$conf['settings']['schedule']['show.inaccessible.resources'] = 'true'; // whether or not resources that are inaccessible to the user are visible
$conf['settings']['schedule']['reservation.label'] = '{name}'; // format for what to display on the reservation slot label. Available properties are: {name}, {title}, {description}, {email}, {phone}, {organization}, {position}, {startdate}, {enddate} {resourcename} {participants} {invitees} {reservationAttributes}. Custom attributes can be added using att with the attribute id. For example {att1}
$conf['settings']['schedule']['hide.blocked.periods'] = 'false'; // if blocked periods should be hidden or shown

/**
* ical integration configuration
*/
$conf['settings']['ics']['require.login'] = 'true'; // recommended, if the user must be logged in to access ics files
$conf['settings']['ics']['subscription.key'] = ''; // must be set to allow webcal subscriptions
$conf['settings']['ics']['import'] = 'false'; // enable iCal import
$conf['settings']['ics']['import.key'] = ''; // it's recommended to set this key when iCal import is enabled
/**
* Privacy configuration - Set up here your business rules
*/
$conf['settings']['privacy']['view.schedules'] = 'true'; // if unauthenticated users can view schedules
$conf['settings']['privacy']['view.reservations'] = 'false'; // if unauthenticated users can view reservations
$conf['settings']['privacy']['hide.user.details'] = 'false'; // if personal user details should be displayed to non-administrators
$conf['settings']['privacy']['hide.reservation.details'] = 'false'; // if reservation details should be displayed to non-administrators
$conf['settings']['privacy']['allow.guest.reservations'] = 'false'; // if reservations can be made by users without a Booked account, if true this overrides schedule and resource visibility
/**
* Reservation specific configuration
*/
$conf['settings']['reservation']['start.time.constraint'] = 'future'; // when reservations can be created or edited. options are future, current, none
$conf['settings']['reservation']['updates.require.approval'] = 'false'; // if updates to previously approved reservations require approval again
$conf['settings']['reservation']['prevent.participation'] = 'false'; // if participation and invitation options should be removed
$conf['settings']['reservation']['prevent.recurrence'] = 'false'; // if recurring reservations are disabled for non-administrators
$conf['settings']['reservation']['enable.reminders'] = 'false'; // if reminders are enabled. this requires email to be enabled and the reminder job to be configured
$conf['settings']['reservation']['allow.guest.participation'] = 'false';
$conf['settings']['reservation']['allow.wait.list'] = 'false';
$conf['settings']['reservation']['checkin.minutes.prior'] = '5';
/**
* Email notification configuration
*/
$conf['settings']['reservation.notify']['resource.admin.add'] = 'false';
$conf['settings']['reservation.notify']['resource.admin.update'] = 'false';
$conf['settings']['reservation.notify']['resource.admin.delete'] = 'false';
$conf['settings']['reservation.notify']['resource.admin.approval'] = 'false';
$conf['settings']['reservation.notify']['application.admin.add'] = 'false';
$conf['settings']['reservation.notify']['application.admin.update'] = 'false';
$conf['settings']['reservation.notify']['application.admin.delete'] = 'false';
$conf['settings']['reservation.notify']['application.admin.approval'] = 'false';
$conf['settings']['reservation.notify']['group.admin.add'] = 'false';
$conf['settings']['reservation.notify']['group.admin.update'] = 'false';
$conf['settings']['reservation.notify']['group.admin.delete'] = 'false';
$conf['settings']['reservation.notify']['group.admin.approval'] = 'false';
/**end business rules
* File upload configuration
*/
$conf['settings']['uploads']['enable.reservation.attachments'] = 'false'; // if reservation attachments can be uploaded
$conf['settings']['uploads']['reservation.attachment.path'] = 'uploads/reservation'; // full or relative (to the root of your installation) filesystem path to store reservation attachments
$conf['settings']['uploads']['reservation.attachment.extensions'] = 'txt,jpg,gif,png,doc,docx,pdf,xls,xlsx,ppt,pptx,csv'; // comma separated list of file extensions that users are allowed to attach. leave empty to allow all extensions
/**
* Database configuration
*/
$conf['settings']['database']['type'] = 'mysql';
$conf['settings']['database']['user'] = 'booked_user'; // database user with permission to the booked database
$conf['settings']['database']['password'] = 'your_password'; fill with the booked_user password
$conf['settings']['database']['hostspec'] = '127.0.0.1'; // ip, dns or named pipe
$conf['settings']['database']['name'] = 'bookedscheduler';
/**TIP: if you have problems to conect to database, please, try with the user and passord of root, if it works, go back to user database permitions.
* Mail server configuration
*/To e-mail configurarion I need to use a relay to my e-mail server and in my server I instaled postfix and configurate it to send e-mails
$conf['settings']['phpmailer']['mailer'] = 'mail'; // options are 'mail', 'smtp' or 'sendmail'
$conf['settings']['phpmailer']['smtp.host'] = 'your-mx'; // 'smtp.company.com'
$conf['settings']['phpmailer']['smtp.port'] = '25';
$conf['settings']['phpmailer']['smtp.secure'] = ''; // options are '', 'ssl' or 'tls'
$conf['settings']['phpmailer']['smtp.auth'] = 'true'; // options are 'true' or 'false'
$conf['settings']['phpmailer']['smtp.username'] = 'user@yourdomain.com';
$conf['settings']['phpmailer']['smtp.password'] = 'your-password';
$conf['settings']['phpmailer']['sendmail.path'] = '/usr/sbin/sendmail';
$conf['settings']['phpmailer']['smtp.debug'] = 'false';
/**
* Plugin configuration. For more on plugins, see readme_installation.html
*/
$conf['settings']['plugins']['Authentication'] = '';
$conf['settings']['plugins']['Authorization'] = '';
$conf['settings']['plugins']['Permission'] = '';
$conf['settings']['plugins']['PostRegistration'] = '';
$conf['settings']['plugins']['PreReservation'] = '';
$conf['settings']['plugins']['PostReservation'] = '';
/**
* Installation settings
*/
$conf['settings']['install.password'] = ''; //just to automated instalation
/**
* Pages
*/
$conf['settings']['pages']['enable.configuration'] = 'true';
/**
* API
*/
$conf['settings']['api']['enabled'] = 'false';
/**
* ReCaptcha
*/
$conf['settings']['recaptcha']['enabled'] = 'false';
$conf['settings']['recaptcha']['public.key'] = '';
$conf['settings']['recaptcha']['private.key'] = '';
/**
* Email
*/
$conf['settings']['email']['default.from.address'] = 'your-email-address';
$conf['settings']['email']['default.from.name'] = 'your-system-name';
/**
* Reports
*/
$conf['settings']['reports']['allow.all.users'] = 'false';
/**
* Account Password Rules
*/
$conf['settings']['password']['minimum.letters'] = '6';
$conf['settings']['password']['minimum.numbers'] = '0';
$conf['settings']['password']['upper.and.lower'] = 'false';
/**
* Label display settings
*/
$conf['settings']['reservation.labels']['ics.summary'] = '{title}';
$conf['settings']['reservation.labels']['ics.my.summary'] = '{title}';
$conf['settings']['reservation.labels']['rss.description'] = '<div><span>Start</span> {startdate}</div><div><span>End</span> {enddate}</div><div><span>Organizer</span> {name}</div><div><span>Description</span> {description}</div>';
$conf['settings']['reservation.labels']['my.calendar'] = '{resourcename} {title}';
$conf['settings']['reservation.labels']['resource.calendar'] = '{name}';
$conf['settings']['reservation.labels']['reservation.popup'] = ''; // Format for what to display in reservation popups. Possible values: {name} {dates} {title} {resources} {participants} {accessories} {description} {attributes}. Custom attributes can be added using att with the attribute id. For example {att1}
/**
* Security header settings
*/
$conf['settings']['security']['security.headers'] = 'false'; // Enable the following options
$conf['settings']['security']['security.strict-transport'] = 'true';
$conf['settings']['security']['security.x-frame'] = 'deny';
$conf['settings']['security']['security.x-xss'] = '1; mode=block';
$conf['settings']['security']['security.x-content-type'] = 'nosniff';
$conf['settings']['security']['security.content-security-policy'] = "default-src 'self'"; // Requires careful tuning (know what your doing)
/**
* Google Analytics settings
*/
$conf['settings']['google.analytics']['tracking.id'] = ''; // if set, Google Analytics tracking code will be added to every page in Booked

$conf['settings']['authentication']['allow.facebook.login'] = 'true';
$conf['settings']['authentication']['allow.google.login'] = 'true';
$conf['settings']['authentication']['required.email.domains'] = '';
/**
* Credits functionality
*/
$conf['settings']['credits']['enabled'] = 'false';

WebInterface des gebuchten Schedulers konfigurieren

Gehen Sie auf die folgende Adresse http://your-ipaddress/Web/index.php, wenn alles in Ordnung ist, sehen Sie den folgenden Bildschirm:

Wählen Sie die Option Registrieren, um ein Admin-Konto zu erstellen, erinnern Sie sich, verwenden Sie die E-Mail-Adresse, die zuvor in der Datei config.php konfiguriert wurde.

Nachdem Sie Ihr Konto erstellt haben, gehen Sie zum Anmeldebildschirm und authentifizieren Sie sich. Ein Dashboard wird geladen, wie dieses Bild:

Im Hauptmenü können Sie das gesamte System konfigurieren, wählen Sie Application Management:

Über dieses Menü können Sie alle Ressourcen des Booked Scheduler konfigurieren, um die config.php zu ändern, wählen Sie die Anwendungskonfiguration:

Dieser Artikel ist ein kleiner Überblick über Booked Scheduler, diese Software hat viele erstaunliche Funktionen, die jeder Umgebung helfen können, eine rationelle Nutzung von Ressourcen zu ermöglichen.

Ich hoffe, dass dieser Artikel Ihnen die Software vorstellen kann, falls Sie ein Problem mit der Installation haben, zögern Sie nicht, Fragen zu stellen. Wenn Sie mehr Informationen über den Booked Scheduler erhalten möchten, besuchen Sie http://www.bookedscheduler.com/.

Das könnte Dich auch interessieren …