Memcached is a free, open source, object caching program that allows repeated PHP object / database calls to be cached in system memory to help speed up dynamic web applications…
Memcached is also an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering..
This brief tutorial shows students and new users how to install and configure Memcached on Ubuntu and use with Apache2 HTTP server to help speed up web applications like WordPress, Drupal, Joomla and other PHP based apps..
When you’re ready to install Memcached on Ubuntu, follow the steps below:
Step 1: Install Memcached
Memcached package is included with Ubuntu default repositories and the installation process is straightforward… Simply run the commands below to install it along with its support tools…
sudo apt update sudo apt install memcached libmemcached-tools
Memcached tools provides several command line tools for managing the Memcached server… You’ll mostly want to install it with Memcached server…
After running the commands above, Memcached server should be installed and ready to use… To check its status run the commands below:
sudo systemctl status memcached
You should see similar lines as below:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-06-06 10:36:25 CDT; 27s ago Docs: man:memcached(1) Main PID: 19852 (memcached) Tasks: 10 (limit: 4682) CGroup: /system.slice/memcached.service └─19852 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid Jun 06 10:36:25 ubuntu1804 systemd: Started memcached daemon.
That’s how to install Memcached on Ubuntu… The server should be running and should respond to requests… The commands below can be used to stop, start and enable Memcached.
sudo systemctl stop memcached.service sudo systemctl start memcached.service sudo systemctl enable memcached.service
Step 2: Configure Memcached
Now that the server is installed, its configuration file can be found at /etc/memcached.conf
The default settings in the file should be enough for most environments and applications… However, for more advanced settings, open the file and make changes you want to apply to your environment…
For example, Memcached listens on the server’s local IP address (127.0.0.1)… If you want to only have it listen on a different IP, edit the lines in the file to look similar to the one below:
sudo nano /etc/memcached.conf
Then replace the local sever IP with the one you want to use… You can also change its default port number as well…
# Default connection port is 11211 -p 11211 # Run the daemon as root. The start-memcached will default to running as root if no # -u command is present in this config file -u memcache # Specify which IP address to listen on. The default is to listen on all IP addresses # This parameter is one of the only security measures that memcached has, so make sure # it's listening on a firewalled interface. -l 192.168.2.1
Save the file and exit… then restart Memcached services for the changes to apply…
Step 3: Setup Apache2 to Support Memcached
Now that Memcached is installed and configured you can use the steps below to include Apache2 and PHP-.72 support….
First, run the commands below to install Apache2 and PHP 7.2
sudo apt-get install apache2 php7.2 libapache2-mod-php7.2 php-memcached php7.2-cli
The commands above will install Apache2 HTTP server along with necessary PHP modules to enable Memcached to function and be accessible.
To test if Memcached is installed, run the commands below to create a test php file.
sudo nano /var/www/html/phpinfo.php
Then copy and paste the content below into the file and save.
<?php phpinfo(); ?>
Save the file. After saving, open your browser and browse to the server hostname or IP address followed by phpinfo.php
You should see all the PHP related modules as well as memcached information. When you see the screenshot below, then you’ll know Memcached is installed and enabled…
If you don’t see Memcached module on the test page above, restart Apache2 and try again…
When Memcahced server is improperly configured, it can be used to perform a distributed denial-of-service (DDoS) attack… If you’re going to be allowing remote access you need to make sure that only trusted client can access it remotely…
Setup Ubuntu firewall to block all remote clients except for those are explicit allowed…
sudo ufw allow from 192.168.2.1 to any port 11211
Congratulations! You’ve successfully installed Memcached with Apache2 and PHP-7.2 support on Ubuntu.
You may also like the post below: