Instalasi OCS Inventory NG pada sistem operasi Linux¶
Persiapan¶
Spesifikasi¶
Komponen perangkat lunak¶
- Apache 2.4.x
- MariaDB-server & client 10.3.x
- PHP 7.3.x
- OCS Inventory Server 2.7.x
Komponen perangkat keras¶
Arsitektur & Topologi¶
Arsitektur
Topologi
Repositori Apache, PHP, & MariaDB¶
Variable
MARIADB_VER="10.4"
PHP_VER="7.4"
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm && \
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | \
bash -s -- --mariadb-server-version="mariadb-$MARIADB_VER" && \
yum update -y
yum install -y yum-utils
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && \
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm && \
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | \
bash -s -- --mariadb-server-version="mariadb-$MARIADB_VER" && \
dnf update -y
dnf install -y yum-utils
apt-get update && \
apt-get -y install apt-transport-https lsb-release ca-certificates curl \
software-properties-common && \
add-apt-repository -y ppa:ondrej/apache2 && \
add-apt-repository -y ppa:ondrej/php && \
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | \
bash -s -- --mariadb-server-version="mariadb-$MARIADB_VER" && \
apt-get update
Instalasi MariaDB, Apache, & PHP¶
MariaDB¶
dnf instal -y mariadb-server
mysql_secure_installation
mysqladmin -u root -p version
mysql -u root -p
CREATE DATABASE ocsweb;
CREATE USER 'ocs'@'localhost' IDENTIFIED BY 'ocs';
GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Apache2¶
yum install -y httpd
systemctl enable --now httpd
dnf install -y httpd
systemctl enable --now httpd
# PERL Requirements
apt-get install libxml-simple-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential
apt-get install -y apache2
Hardening
cp /etc/httpd/conf/httpd.conf{,.`date +"%Y%m%d%H%M"`}
cat << EOF >> /etc/httpd/conf/httpd.conf
ServerTokens Prod
ServerSignature Off
EOF
PHP¶
yum-config-manager --enable remi
yum install -y php:remi-$PHP_VER
yum-config-manager --enable remi
dnf module reset php
dnf module install -y php:remi-$PHP_VER
cp /etc/php.ini{,.`date +"%Y%m%d%H%M"`}
# sed -i 's/max_execution_time =.*/max_execution_time = -1/g' /etc/php.ini
# sed -i 's/max_input_time =.*/max_input_time = -1/g' /etc/php.ini
sed -i 's/max_execution_time =.*/max_execution_time = 120/g' /etc/php.ini
sed -i 's/max_input_time =.*/max_input_time = 240/g' /etc/php.ini
sed -i 's/memory_limit =.*/memory_limit = 512M/g' /etc/php.ini
sed -i 's/post_max_size =.*/post_max_size = 201M/g' /etc/php.ini
sed -i 's/upload_max_filesize =.*/upload_max_filesize = 200M/g' /etc/php.ini
sed -i 's/expose_php =.*/expose_php = Off/g' /etc/php.ini
systemctl restart httpd
Peladen pangkalan data¶
Saat menggunakan instalasi peladen basis data terpisah, perlu membuat database dan pengguna
CREATE DATABASE ocsweb;
CREATE USER 'ocs'@'CommunicationServerIP' IDENTIFIED BY 'ocs';
CREATE USER 'ocs'@'AdministrationConsoleIP' IDENTIFIED BY 'ocs';
GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'CommunicationServerIP' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'AdministrationConsoleIP' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Proses¶
Instalasi OCS Inventory¶
wget https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.el7.ocs.noarch.rpm
yum-config-manager --enable remi
yum-config-manager --enable remi-php73
yum install -y ocsinventory
wget https://rpm.ocsinventory-ng.org/ocsinventory-release-latest.el8.ocs.noarch.rpm
dnf install -y ocsinventory-release-latest.el8.ocs.noarch.rpm
dnf install -y --enablerepo=powertools ocsinventory
ocsinventory-server.conf¶
Variabel
BERKAS_OCS_CONF="/etc/httpd/conf.d/ocsinventory-server.conf"
BERKAS_OCSDB_CONF="/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php"
BERKAS_OCS_CONF="/etc/apache2/conf.d/ocsinventory-server.conf"
OCS_DB_HOST="localhost"
OCS_DB_PORT="3306"
OCS_DB_NAME="ocsweb"
OCS_DB_LOCAL="ocsweb"
OCS_DB_USER="ocs"
OCS_DB_PWD="ocs"
cp $BERKAS_OCS_CONF{,.`date +"%Y%m%d"`}
sed -i 's/OCS_DB_HOST.*/OCS_DB_HOST '$OCS_DB_HOST'/g' $BERKAS_OCS_CONF
sed -i 's/OCS_DB_PORT.*/OCS_DB_PORT '$OCS_DB_PORT'/g' $BERKAS_OCS_CONF
sed -i 's/OCS_DB_NAME.*/OCS_DB_NAME '$OCS_DB_NAME'/g' $BERKAS_OCS_CONF
sed -i 's/OCS_DB_LOCAL.*/OCS_DB_LOCAL '$OCS_DB_LOCAL'/g' $BERKAS_OCS_CONF
sed -i 's/OCS_DB_USER.*/OCS_DB_USER '$OCS_DB_USER'/g' $BERKAS_OCS_CONF
sed -i 's/OCS_DB_PWD.*/OCS_DB_PWD '$OCS_DB_PWD'/g' $BERKAS_OCS_CONF
systemctl restart httpd
cp $BERKAS_OCSDB_CONF{,.`date +"%Y%m%d"`}
cat << EOF > $BERKAS_OCSDB_CONF
<?php
define("DB_NAME", "$OCS_DB_NAME");
define("SERVER_READ","$OCS_DB_HOST");
define("SERVER_WRITE","$OCS_DB_HOST");
define("SERVER_PORT", "$OCS_DB_PORT");
define("COMPTE_BASE","$OCS_DB_NAME");
define("PSWD_BASE","$OCS_DB_PWD");
define("ENABLE_SSL","0");
define("SSL_MODE","SSL_MODE_PREFERRED");
//define("SSL_KEY","/path/to/client-key.pem");
//define("SSL_CERT","/path/to/client-cert.pem");
//define("CA_CERT","/etc/ssl/certs/ca-certificate.crt");
?>
EOF
Buka laman $FQDN/ocsreports/install.php
setelah melakukan perubahan konfigurasi basis data, lalu isikan parameter koneksi ke panggalakan data untuk finaliasi perubahan.
SELinux¶
Firewall¶
FirewallD
systemctl stop firewalld
systemctl disable firewalld
Penyelesaian¶
Instalasi manual¶
Peladen Administrasi
dnf install -y httpd \
perl-XML-Simple \
perl-DBI \
perl-DBD-MySQL \
perl-Net-IP \
php-gd
Peladen Komunikasi
yum install -y httpd \
perl-XML-Simple \
perl-Compress-Zlib \
perl-DBI \
perl-DBD-MySQL \
perl-Net-IP \
perl-SOAP-Lite \
perl-Archive-Zip \
perl-Mojolicious \
perl-Plack \
perl-XML-Entities \
perl-Switch