{"id":5644,"date":"2020-04-30T22:29:53","date_gmt":"2020-04-30T19:29:53","guid":{"rendered":"https:\/\/kifarunix.com\/?p=5644"},"modified":"2024-03-14T20:01:27","modified_gmt":"2024-03-14T17:01:27","slug":"install-latest-wordpress-with-lamp-stack-on-ubuntu-20-04","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-latest-wordpress-with-lamp-stack-on-ubuntu-20-04\/","title":{"rendered":"Install latest WordPress with LAMP Stack on Ubuntu 20.04"},"content":{"rendered":"\n<p>Welcome to our guide on how to install latest WordPress with LAMP Stack on Ubuntu 20.04. As may already know, <a href=\"https:\/\/wordpress.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress<\/a> is a free and open-source content management system written in PHP and is mostly used to create free websites or build personal blogs.<\/p>\n\n\n\n<p>Are you using WordPress and looking for a professional WordPress website builder? Look no further since <a href=\"https:\/\/trk.elementor.com\/8uczdzzsxgza-webcreatorsred\" target=\"_blank\" rel=\"noreferrer noopener\">Elementor can help you create beautiful pages<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing WordPress with LAMP Stack on Ubuntu 20.04<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequsites<\/h3>\n\n\n\n<p>Before you can install WordPress on Ubuntu 20.04, there are a few prerequisites that must be set in place before you can proceed.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Run System update<\/h4>\n\n\n\n<p>Ensure that your system packages are up-to-date.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt update\napt upgrade<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Install LAMP\/LEMP Stack<\/h4>\n\n\n\n<p>WordPress is a PHP based application and thus, it requires a LAMP or LEMP stack installed to function properly. In this demo, we run WordPress with LAMP stack; Ubuntu 20.04 as the Linux OS, PHP 7.4, MySQL 8, and Apache as the web server.<\/p>\n\n\n\n<p>Follow the link below to install LAMP Stack on Ubuntu 20.04;<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/install-lamp-stack-on-ubuntu-20-04\/\" target=\"_blank\">Install LAMP Stack on Ubuntu 20.04<\/a><\/p>\n\n\n\n<p>Next, install other required PHP modules if not already installed;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install php7.4-{mysql,cli,json,opcache,xml,gd,curl}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Create WordPress MySQL Database<\/h4>\n\n\n\n<p>Login to MySQL and create WordPress database;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mysql -u root -p<\/code><\/pre>\n\n\n\n<p>Create a WordPress database. Replace the database and database user accordingly.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>create database wpdb;<\/code><\/pre>\n\n\n\n<p>Create a WordPress database user and grant all privileges on the database.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>create user wpadmin@localhost identified by 'StrongP@33#';<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>grant all on wpdb.* to wpadmin@localhost;<\/code><\/pre>\n\n\n\n<p>Reload the database privileges tables and exit the database.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>flush privileges;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>quit<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Install WordPress (5.x)<\/h3>\n\n\n\n<p>WordPress 5.4.1 is the latest version of the writing of this guide. Download the latest version WordPress archive from the&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/wordpress.org\/download\/\" target=\"_blank\">WordPress downloads page<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>wget https:\/\/wordpress.org\/latest.tar.gz<\/code><\/pre>\n\n\n\n<p>Create your web root directory where to install WordPress. Replace the names accordingly.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mkdir \/var\/www\/html\/wp.kifarunix-demo.com<\/code><\/pre>\n\n\n\n<p>Next, extract WordPress archive contents to your Web root directory created above.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>tar xzf latest.tar.gz -C \/var\/www\/html\/wp.kifarunix-demo.com --strip-components=1<\/code><\/pre>\n\n\n\n<p>Verify that the WordPress files are in place.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ls \/var\/www\/html\/wp.kifarunix-demo.com<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>index.php    wp-activate.php     wp-comments-post.php  wp-cron.php        wp-load.php   wp-settings.php   xmlrpc.php\nlicense.txt  wp-admin            wp-config-sample.php  wp-includes        wp-login.php  wp-signup.php\nreadme.html  wp-blog-header.php  wp-content            wp-links-opml.php  wp-mail.php   wp-trackback.php<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Configure WordPress on Ubuntu 20.04<\/h3>\n\n\n\n<p>WordPress comes with a sample configuration,&nbsp;<code>wp-config-sample.php<\/code>. Rename the sample configuration file.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cp \/var\/www\/html\/wp.kifarunix-demo.com\/wp-config{-sample,}.php<\/code><\/pre>\n\n\n\n<p>Next, edit the configuration file and set the database connection details,<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/var\/www\/html\/wp.kifarunix-demo.com\/wp-config.php<\/code><\/pre>\n\n\n\n<p>Replace the&nbsp;<strong>DB_NAME, DB_USER, DB_PASSWORD<\/strong>&nbsp;with the values you set while creating the MySQL database for WordPress.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>...\n\/\/ ** MySQL settings - You can get this info from your web host ** \/\/\n\/** The name of the database for WordPress *\/\ndefine( 'DB_NAME', '<strong>wpdb<\/strong>' );\n\n\/** MySQL database username *\/\ndefine( 'DB_USER', '<strong>wpadmin<\/strong>' );\n\n\/** MySQL database password *\/\ndefine( 'DB_PASSWORD', '<strong>StrongP@33#<\/strong>' );\n\n\/** MySQL hostname *\/\ndefine( 'DB_HOST', 'localhost' );\n\n\/** Database Charset to use in creating database tables. *\/\ndefine( 'DB_CHARSET', 'utf8' );\n...<\/code><\/pre>\n\n\n\n<p>Next, generate authentication unique keys and salts. You can simply generate the keys and salts from WordPress Secret-Key service as follows;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>curl -s https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>define('AUTH_KEY',         'BkIM1nZ`;ni.E(^HO@,R{bG%7oq@iwI=~=-];h%|bA{idi  ^BTT|&#91;7,l_L&amp;i5UY');\ndefine('SECURE_AUTH_KEY',  'WAgvv#q|d_EOhWk|;kKhE2&amp;jO{h-G#oMz4,W;O)xH}VB63a2FV^*?oR$5w&#91;tP0=h');\ndefine('LOGGED_IN_KEY',    '?|&amp;6H,|v3}-_-(m&#91;*m Kd&lt;|3|m3QMLW5|&gt;Tr=&#91;I|b9q)! g*=H9vD&lt;O6fqe&gt;pg(@');\ndefine('NONCE_KEY',        '&amp;yq9&#91;1N^f,P l IVMse&lt;?QXJb+W3ImG@1,yFkP!fE;&lt;Q296_vEs t%ZVdT.f&amp;j:9');\ndefine('AUTH_SALT',        '-pE?xU-&lt;w-|Y7S~&lt;Bm+HXCVr$b~$vt]KLNd|Za-__]Io#,,gN4y6l.H|$r=6amZ!');\ndefine('SECURE_AUTH_SALT', '+V(D|4%|d$J!D|McEDFOl=x*YTtha4We;=HjkRzHz#(0(YZPIK,!0vI9e{ZBV\/=]');\ndefine('LOGGED_IN_SALT',   'hLc|}}b8YjjaRawp={&#91;)},xZkwX%Uun_&lt;&gt;_|+r&#91;uD-?sbJQp|_e0?eXxtP~|$#8E');\ndefine('NONCE_SALT',       'x!Tc@i|+Hg;-w++_l;&gt;-NL&gt;+xB&amp;r{FfQ*@E|ti\/TAV-THER@UFapaUS7ejboTCi]');<\/code><\/pre>\n\n\n\n<p>Note, Do not use the above keys. Generate yours, \ud83d\ude42<\/p>\n\n\n\n<p>Within the&nbsp;<strong>wp-config.php<\/strong>, replace the following lines with the above.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>...\n * @since 2.6.0\n *\/\ndefine( 'AUTH_KEY',         'put your unique phrase here' );\ndefine( 'SECURE_AUTH_KEY',  'put your unique phrase here' );\ndefine( 'LOGGED_IN_KEY',    'put your unique phrase here' );\ndefine( 'NONCE_KEY',        'put your unique phrase here' );\ndefine( 'AUTH_SALT',        'put your unique phrase here' );\ndefine( 'SECURE_AUTH_SALT', 'put your unique phrase here' );\ndefine( 'LOGGED_IN_SALT',   'put your unique phrase here' );\ndefine( 'NONCE_SALT',       'put your unique phrase here' );\n\n\/**#@-*\/\n...<\/code><\/pre>\n\n\n\n<p>Your configuration should look like;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n * @since 2.6.0\n *\/\n\/**\n * define( 'AUTH_KEY',         'put your unique phrase here' );\n * define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );\n * define( 'LOGGED_IN_KEY',    'put your unique phrase here' );\n * define( 'NONCE_KEY',        'put your unique phrase here' );\n * define( 'AUTH_SALT',        'put your unique phrase here' );\n * define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );\n * define( 'LOGGED_IN_SALT',   'put your unique phrase here' );\n * define( 'NONCE_SALT',       'put your unique phrase here' );\n *\/\ndefine('AUTH_KEY',         'BkIM1nZ`;ni.E(^HO@,R{bG%7oq@iwI=~=-];h%|bA{idi  ^BTT|&#91;7,l_L&amp;i5UY');\ndefine('SECURE_AUTH_KEY',  'WAgvv#q|d_EOhWk|;kKhE2&amp;jO{h-G#oMz4,W;O)xH}VB63a2FV^*?oR$5w&#91;tP0=h');\ndefine('LOGGED_IN_KEY',    '?|&amp;6H,|v3}-_-(m&#91;*m Kd&lt;|3|m3QMLW5|&gt;Tr=&#91;I|b9q)! g*=H9vD&lt;O6fqe&gt;pg(@');\ndefine('NONCE_KEY',        '&amp;yq9&#91;1N^f,P l IVMse&lt;?QXJb+W3ImG@1,yFkP!fE;&lt;Q296_vEs t%ZVdT.f&amp;j:9');\ndefine('AUTH_SALT',        '-pE?xU-&lt;w-|Y7S~&lt;Bm+HXCVr$b~$vt]KLNd|Za-__]Io#,,gN4y6l.H|$r=6amZ!');\ndefine('SECURE_AUTH_SALT', '+V(D|4%|d$J!D|McEDFOl=x*YTtha4We;=HjkRzHz#(0(YZPIK,!0vI9e{ZBV\/=]');\ndefine('LOGGED_IN_SALT',   'hLc|}}b8YjjaRawp={&#91;)},xZkwX%Uun_&lt;&gt;_|+r&#91;uD-?sbJQp|_e0?eXxtP~|$#8E');\ndefine('NONCE_SALT',       'x!Tc@i|+Hg;-w++_l;&gt;-NL&gt;+xB&amp;r{FfQ*@E|ti\/TAV-THER@UFapaUS7ejboTCi]');\n\/**#@-*\/\n...<\/code><\/pre>\n\n\n\n<p>Save and exit the configuration file.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configure Apache Web Server<\/h3>\n\n\n\n<p>Create an Apache virtual host configuration for your WordPress site.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/etc\/apache2\/sites-available\/wordpress.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80&gt;\n    ServerAdmin webmaster@kifarunix-demo.com\n    ServerName wp.kifarunix-demo.com\n    DocumentRoot \/var\/www\/html\/wp.kifarunix-demo.com\n    \n    &lt;Directory \/var\/www\/html\/wp.kifarunix-demo.com&gt;\n       AllowOverride All\n    &lt;\/Directory&gt;\n\n    ErrorLog \/var\/log\/apache2\/wp.error.log\n    CustomLog \/var\/log\/apache2\/wp.access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p>Save and exit the config file.<\/p>\n\n\n\n<p>Set the user and group ownership of your site configuration to&nbsp;Apache&nbsp;user, <code>www-data<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>chown -R www-data:www-data \/var\/www\/html\/wp.kifarunix-demo.com<\/code><\/pre>\n\n\n\n<p>Check Apache syntac errors;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apachectl -t<\/code><\/pre>\n\n\n\n<p>If you get, <code><strong>Syntax OK<\/strong><\/code>, proceed to enable WordPress site configuration.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>a2ensite wordpress.conf<\/code><\/pre>\n\n\n\n<p>Disable the default Apache site;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>a2dissite 000-default.conf<\/code><\/pre>\n\n\n\n<p>Restart Apache;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl restart apache2<\/code><\/pre>\n\n\n\n<p>If UFW is running, open port 80\/tcp to allow external access.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ufw allow 80\/tcp<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Finalize WordPress Setup on Ubuntu 20.04<\/h3>\n\n\n\n<p>To complete setting up WordPress on Ubuntu 20.04, navigate to the browser and access your WordPress site, <strong><code>http:\/\/&lt;server-IP-Or-hostname&gt;<\/code><\/strong>.<\/p>\n\n\n\n<p>Choose your WordPress installation language and click <strong>Continue<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"685\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language.png\" alt=\"Install latest WordPress with LAMP Stack on Ubuntu 20.04\" class=\"wp-image-8046\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language.png?v=1614313835 704w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language-150x146.png?v=1614313835 150w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language-300x292.png?v=1614313835 300w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language-696x677.png?v=1614313835 696w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-language-432x420.png?v=1614313835 432w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/figure><\/div>\n\n\n<p>Setup your site title, your username, password, email address, choose whether to disable or enable site indexing and install WordPress on Ubuntu 20.04.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"558\" height=\"642\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-setup-page.png\" alt=\"\" class=\"wp-image-8047\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-setup-page.png?v=1614313874 558w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-setup-page-150x173.png?v=1614313874 150w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-setup-page-300x345.png?v=1614313874 300w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wp-setup-page-365x420.png?v=1614313874 365w\" sizes=\"(max-width: 558px) 100vw, 558px\" \/><\/figure><\/div>\n\n\n<p>Once the installation is done, login to your WordPress using the username and password you just created. And there you go. Your WordPress is setup successfully.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1352\" height=\"593\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard.png\" alt=\"\" class=\"wp-image-8048\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard.png?v=1614313908 1352w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-768x337.png?v=1614313908 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-150x66.png?v=1614313908 150w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-300x132.png?v=1614313908 300w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-696x305.png?v=1614313908 696w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-1068x468.png?v=1614313908 1068w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/02\/wordpress-dashboard-958x420.png?v=1614313908 958w\" sizes=\"(max-width: 1352px) 100vw, 1352px\" \/><\/figure>\n\n\n\n<p>You can now write and publish your stuff on your WordPress blog. That brings us to the end of our guide.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Related Tutorials<\/h3>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/install-phpmyadmin-on-ubuntu-20-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install phpMyAdmin on Ubuntu 20.04<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/how-to-fix-wordpress-could-not-establish-a-secure-connection-to-wordpress-org\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to fix WordPress could not establish a secure connection to WordPress.org<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/install-wordpress-with-nginx-and-mysql-8-on-centos-8\/\" target=\"_blank\">Install WordPress with Nginx and MySQL 8 on CentOS 8<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/install-wordpress-5-with-nginx-on-debian-10-buster\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install WordPress 5 with Nginx on Debian 10 Buster<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to our guide on how to install latest WordPress with LAMP Stack on Ubuntu 20.04. As may already know, WordPress is a free and<\/p>\n","protected":false},"author":1,"featured_media":12459,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,292],"tags":[202,1527,1525,1526,1200,1047,3202],"class_list":["post-5644","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","category-wordpress","tag-apache","tag-install-wordpress-5-ubuntu-20-04","tag-install-wordpress-ubuntu-20-04","tag-install-wordpress-with-lamp-stack-on-ubuntu-20-04","tag-ubuntu-20-04","tag-wordpress","tag-wordpress-ubuntu-20-04","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5644"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=5644"}],"version-history":[{"count":6,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5644\/revisions"}],"predecessor-version":[{"id":21344,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5644\/revisions\/21344"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/12459"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=5644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=5644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=5644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}