OpenLDAP is an open source implementation of LDAP or Lightweight Directory Access Protocol . OpenLDAP allows to store and organize user related data centrally. OpenLDAP functions like a relational database & can store any data but its normally used as a address book. Its used for authenticating and authorizing of the users. Information stored in OpenLDAP is in hierarchical manner & We can group the users into a single or multiple groups based on necessity.
All posts by Pramod T P
Install OpenSSL CentOS Linux
OpenSSL – Supports the HTTPS protocol. Required by the NGINX SSL module and others.
Run the following commands to install openssl
cd /tmp/ wget http://www.openssl.org/source/openssl-1.0.2o.tar.gz tar -zxf openssl-1.0.2o.tar.gz cd openssl-1.0.2o ./Configure linux-x86_64 --prefix=/usr make make install
You can verify the installation by issuing the following command.
openssl -version
Magento 2 Custom Query
<?php use Magento\Framework\App\Bootstrap; require __DIR__ . '/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP, $params); $objectManager = $bootstrap->getObjectManager(); $state = $objectManager->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $resource = $objectManager->get('Magento\Framework\App\ResourceConnection'); $connection = $resource->getConnection(); $sql = "Select * FROM customer_entity" ; $result = $connection->fetchAll($sql); print_r($result); ?>
Magento 2 External PHP Script
<?php use Magento\Framework\App\Bootstrap; require __DIR__ . '/app/bootstrap.php'; $params = $_SERVER; $bootstrap = Bootstrap::create(BP, $params); $objectManager = $bootstrap->getObjectManager(); $state = $objectManager->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $resource = $objectManager->get('Magento\Framework\App\ResourceConnection'); $connection = $resource->getConnection(); $sql = "Select * FROM customer_entity" ; $result = $connection->fetchAll($sql); print_r($result); ?>
Enable MySQL Query Caching
You can setup them in /etc/my.cnf (CentOS 7)
vi /etc/my.cnf
Append config directives as follows:
query_cache_size = 268435456 query_cache_type=1 query_cache_limit=1048576
In above example the maximum size of individual query results that can be cached set to 1048576 using query_cache_limit system variable. Memory size in Kb.
Restart the mysql service.
service mysqld restart
Install NginX CentOS 7
Add Nginx Repository
To add the CentOS 7 EPEL repository, open terminal and use the following command:
sudo yum install epel-release
Install Nginx
Now that the Nginx repository is installed on your server, install Nginx using the following yum command:
sudo yum install nginx -y
Start Nginx
Nginx does not start on its own. To get Nginx running, type:
sudo systemctl start nginx
If you are running a firewall, run the following commands to allow HTTP and HTTPS traffic:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --reload
You can do a spot check right away to verify that everything went as planned by visiting your server’s public IP address in your web browser (see the note under the next heading to find out what your public IP address is if you do not have this information already):
http://server_domain_name_or_IP/
Before continuing, you will probably want to enable Nginx to start when your system boots. To do so, enter the following command:
sudo systemctl enable nginx
Magento 2 Enable Redis
Install Redis.
And then edit app/etc/env.php to configure Magento to use Redis for session storage, default and page caching.
'session' => array ( 'save' => 'redis', 'redis' => array ( 'host' => '127.0.0.1', 'port' => '6379', 'password' => '', 'timeout' => '2.5', 'persistent_identifier' => '', 'database' => '2', 'compression_threshold' => '2048', 'compression_library' => 'gzip', 'log_level' => '1', 'max_concurrency' => '6', 'break_after_frontend' => '5', 'break_after_adminhtml' => '30', 'first_lifetime' => '600', 'bot_first_lifetime' => '60', 'bot_lifetime' => '7200', 'disable_locking' => '0', 'min_lifetime' => '60', 'max_lifetime' => '2592000' ) ),
'cache' => array( 'frontend' => array( 'default' => array( 'backend' => 'Cm_Cache_Backend_Redis', 'backend_options' => array( 'server' => '127.0.0.1', 'database' => '0', 'port' => '6379' ), ), 'page_cache' => array( 'backend' => 'Cm_Cache_Backend_Redis', 'backend_options' => array( 'server' => '127.0.0.1', 'port' => '6379', 'database' => '1', 'compress_data' => '0' ) ) ) ),
Install Redis CentOS 7 Linux
Run the following commands to install redis
wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make make test make install
Create a directory where to store your Redis config files and your data:
mkdir /etc/redis mkdir /var/redis
Copy the init script that you’ll find in the Redis distribution under the utils directory into /etc/init.d. We suggest calling it with the name of the port where you are running this instance of Redis. For example:
cp utils/redis_init_script /etc/init.d/redis_6379
Copy the template configuration file you’ll find in the root directory of the Redis distribution into /etc/redis/ using the port number as name, for instance:
cp redis.conf /etc/redis/6379.conf
Create a directory inside /var/redis that will work as data and working directory for this Redis instance
mkdir /var/redis/6379
Edit the configuration file, making sure to perform the following changes:
vi /etc/redis/6379.conf Set daemonize to yes (by default it is set to no). Set the pidfile to /var/run/redis_6379.pid (modify the port if needed). Change the port accordingly. In our example it is not needed as the default port is already 6379. Set your preferred loglevel. Set the logfile to /var/log/redis_6379.log Set the dir to /var/redis/6379 (very important step!)
Finally add the new Redis init script to all the default runlevels using the following command
chkconfig --add redis_6379
Start Redis instance.
/etc/init.d/redis_6379 start
Check if Redis is working
redis-cli ping
Install Magento 2 Commandline Linux CentOS
Follow the below steps to install Magento 2 with sample-data.
Make sure that httpd / Nginx,PHP,MySQL and Composer are installed in the server by issuing the following commands
httpd -v / nginx -v php -v composer -v mysql
Change the directory to documet root
cd /var/www/html/
Download Magento and issue the following commands
sudo git clone https://github.com/magento/magento2.git cd magento2 sudo git checkout tags/2.2.1 -b 2.2.1 chown -R httpd:www /var/www/html/magento2/ sudo chmod -R 775 /var/www/html/magento2/ chmod 777 var/ generated/ app/etc/ pub/ composer install composer update composer config repositories.0 composer https://repo.magento.com php bin/magento setup:install --base-url=http://127.0.0.1/magento2/ --backend-frontname=admin \ --db-host=127.0.0.1 --db-name=mage2 --db-user=root --db-password=Root@123 \ --admin-firstname=Magento --admin-lastname=User --admin-email=user@example.com \ --admin-user=admin --admin-password=admin17 --language=en_US \ --currency=USD --timezone=America/Chicago --use-rewrites=1 php bin/magento sampledata:deploy php bin/magento setup:upgrade php bin/magento setup:static-content:deploy
Now check the site http://127.0.0.1/magento2/ .
Install MySQL Linux CentOS
Download Package
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm -y
Install MySQL
yum install mysql-community-server -y
Start MySQL
service mysqld start service mysqld status
Generate Temporary password
grep 'temporary password' /var/log/mysqld.log
Login To MySQL
mysql -uroot -p
Reset Password and set Privilages
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root@123' WITH GRANT OPTION; FLUSH PRIVILEGES;
Open MySQL Port 3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --list-all