-
Notifications
You must be signed in to change notification settings - Fork 208
Home
Data Centers have been around since the first computers were built, only they weren't called data centers, yet. However, there's a lot of talk about what exactly constitutes a data center. Is a closet with 1 computer in it a data center? What if it's in a cabinet? How about an office with desktop PC's lined up across shelved? Is there a minimum size to qualify as a data center? We, the openDCIM project, have adopted a very simple philosophy around it - if it's important enough for you to want to track it, it's a data center.
That being said, we have a very wide range of "clients" using openDCIM, with a very wide range of experience in data center management. Some of the fields and prompts in the application make some basic assumptions about the knowledge level of the user. To help bridge the knowledge gap, we have some helpful information. Not all of this is directly applicable to openDCIM, but is certainly part of the corpus of knowledge around data center management itself.
- Web browser that is reasonably standards compliant.
- We do not support Internet Explorer 8 or earlier, in other words
- Developers regularly test against the latest IE, Chrome, Mozilla, and Safari
- Some mobile devices (tablets/phones) work decently. If you want to scan barcodes for input, I suggest looking at Bluetooth enabled scanners (around $200 and up).
- Javascript must be enabled on your client
- You must be connected to the network at all times - openDCIM does not work in a batch mode
openDCIM is designed to run on a fairly cookie cutter LAMP system. However, there is no operating system specific code, so it could conceivably run on any operating system that can run the components.
- Apache Web Server 2.x, or similar web server
- It is highly recommended that you install openDCIM as its own Virtual Host on the server rather than as a subtree of an existing site
- Set up your page as SSL enabled!
- The main page checks for SSL, and enforces a redirect to https if you are accessing via insecure methods. If you didn't set up an SSL site, this will result in an infinite loop with your browser until you tell it to stop.
- Basic auth is still supported through Apache, but some form of Modern Authentication is highly recommended (SAML/OIDC). You may offload not only the authentication but also authorization to your Identity Provider.
- MariaDB/MySQL - you can either run this on the same host or a separate host. Space requirements are very low.
- PHP 8.x - Make sure that you have libraries enabled for MySQL and SNMP access.
These are used in the Ubuntu based container build
- locales-all
- tzdata
- mariadb-client
- apache2
- php
- php-mbstring
- php-snmp
- php-gd
- php-mysql
- php-zip
- php-curl
- php-ldap
- php-redis (needed when load balancing multiple instances)
- php-xml
- php-php-gettext
- locales
- graphviz
- Some information about running this Cloud Native (in containers) is at Kubernetes
- Download from http://www.opendcim.org/downloads.html
- Follow the installation instructions in the README file
- Set up your database
- Configure openDCIM to talk to your database
- Log in for the first time. '''The first user to log in is the default administrator! (when using Apache authentication)'''
- Follow the Configuration guide
- Setting up BackgroundJobs.
- Ubuntu 15.04 specific installation notes
- CentOS Installation guide
* RHEL 9 Install Guide
yum install mod_ssl httpd php mariadb-server php-pdo php-mysqlnd php-mbstring php-snmp php-xml php-snmp php-gd php-ldap php-intl graphviz graphviz-gd wget vim
systemctl enable httpd.service --now
systemctl enable mariadb.service --now
mysql_secure_installation
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Remove anonymous users? [Y/n]
... Success!
Disallow root login remotely? [Y/n]
... Success!
Remove test database and access to it? [Y/n]
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n]
... Success!
# mysql -u root -p
MariaDB [(none)]> create database dcim;
MariaDB [(none)]> grant all privileges on dcim.* to 'dcim' identified by 'dcim';
MariaDB [(none)]> exit
# vim /etc/httpd/conf.d/opendcim.conf
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /opt/openDCIM/opendcim
ServerName opendcim.example.net
SSLCertificateKeyFile "/etc/pki/tls/private/localhost.key"
SSLCertificateFile "/etc/pki/tls/certs/localhost.crt"
SSLCACertificateFile "/etc/pki/tls/certs/ca-bundle.crt"
<Directory /opt/openDCIM/opendcim>
AllowOverride All
AuthType Basic
AuthName "openDCIM"
AuthUserFile /opt/openDCIM/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
mkdir -p /opt/openDCIM/
cd /opt/openDCIM/
wget https://github.com/opendcim/openDCIM/archive/refs/tags/23.01.tar.gz
tar -zxpf 23.01.tar.gz
ln -s openDCIM-23.01 opendcim
mkdir -p assets/{pictures,drawings}
chown apache:apache assets/*
ln -s /opt/openDCIM/assets/ /opt/openDCIM/opendcim/
htpasswd -c /opt/openDCIM/.htpasswd dcim
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
systemctl reload httpd
https://<server ip goes here>
- Why doesn't Translation work on my system? Everything is still in English
- How to add your SiteContact information to the login and main pages.
Several videos exist on YouTube to guide you through the process of setting up and using openDCIM. Check it out here.
Specifically, a video of the installation process is available at:
Installing openDCIM from Scratch
- Simply untar the new version onto your server, configure, and browse to the site. The install.php will automatically run if it is present. That being said, however, there are a few more steps involved in a "best practices" Upgrade.
- LDAP for Authentication and Authorization is available as of version 4.2.
- Modern Authentication is available for configuration of Authorization and Authentication and is highly recommended
- RESTful API Documentation
- Local_Reports
At one point, I had a grand idea that if I set up a repository for people to submit their device templates and pictures that people would contribute things of value to it. However, history proved me wrong in that it was quickly inundated with users submitted very incomplete templates with absolutely no regard for consistency in how things were named. This section of the wiki is still here to let you know that yes, there was a shared repo. But no, we are not giving out API keys for submitting templates.
You are welcome to download what is already in the repository.
You have the option of maps not only of the data center floor plans, but of the region (in the case of multiple data centers) to drill down from the top view to a more detailed view. The other option is to utilize the Side Navigation Tree, where the hierarchical structure of your data center elements are displayed.
- Managing People
- Asset Ownership - Departments
- Relationship of DepartmentContacts
- BulkOperations
- Managing Data Centers
- Managing Power Sources
- Managing Power Panels
- Creating your Floor Plan
- Managing Cabinets (The container itself)
-
Navigating Cabinets (The items within the container)
- Managing Power Strips
- Managing Infrastructure Components
- Managing Manufacturers
- Managing Device Templates
- Entering Rack Requests (Users)
- Completing Rack_Requests-Admins
- Entering New Devices
- Reserving Space
- Documenting PowerConnections
- Documenting NetworkConnections
- Creating a WorkOrderBuilder
- MovingDevices
- The StorageRoom