Professional Documents
Culture Documents
WWW Digitalocean Com Community Tutorials How To Install Word
WWW Digitalocean Com Community Tutorials How To Install Word
LAMP Stack
Introduction
Prerequisites
WordPress
The first step is a preparatory one. WordPress uses MySQL to manage and store
site and user information. You have MySQL installed already, but need to make a
database and a user for WordPress to use.
To get started, log into the MySQL root (administrative) account by issuing the
following command (note that this is not the root user of your server):
$ sudo mysql Copy
Note: If you installed MySQL by following a tutorial other than the one listed in the
prerequisites, you may have enabled password authentication for your root
MySQL user. If so, you can connect to MySQL with the following command:
$ mysql -u root -p Copy
Within the database, create a dedicated database for WordPress to control. You
can call this whatever you would like, but we will be using the name wordpress in
this guide. Create the database for WordPress by running the following command:
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf Copy
Note: Every MySQL statement must end in a semi-colon ( ; ). Check to make sure
this is present if you are running into any issues.
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Next, you’re going to create a separate MySQL user account that you’ll use
exclusively to operate your new database. Creating specific databases and
accounts can support you from a management and security standpoint. We will
use the name wordpressuser in this guide, but feel free to use any name you
prefer for this use.
You can create this user by running the following command. Remember to choose
a strong password here for your database user where we have password :
mysql> CREATE USER ' wordpressuser '@'%' IDENTIFIED WITH mysql_native_pas Copy
Next, let the database know that your wordpressuser should have complete
access to the database you set up:
mysql> GRANT ALL ON wordpress .* TO ' wordpressuser '@'%'; Copy
You now have a database and user account, each made specifically for
WordPress. You need to flush the privileges so that the current instance of MySQL
knows about the recent changes made:
mysql> FLUSH PRIVILEGES; Copy
Exit out of MySQL by writing the following:
mysql> EXIT; Copy
In the next step, you’ll lay some foundations for WordPress plugins by
downloading PHP extensions for your server.
Step 2 — Installing Additional PHP Extensions
When setting up our LAMP stack, we only required a very minimal set of
extensions in order to get PHP to communicate with MySQL. WordPress and many
of its plugins, however, leverage additional PHP extensions.
You can download and install some of the most popular PHP extensions for use
with WordPress. But first, use the APT package management tools to update your
local package index:
$ sudo apt update
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Copy
Then you can install the various PHP extensions for WordPress:
$ sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-s Copy
This will lay the groundwork for installing additional plugins on your WordPress
site.
Note: Each WordPress plugin has its own set of requirements. Some may require
additional PHP packages to be installed. Check your plugin documentation to
discover its PHP requirements. If they are available, they can be installed with apt
as demonstrated in the previous example.
You’ll need to restart Apache to load these new extensions. In the next section,
you’ll make some more tweaks to Apache’s configuration, so you can wait until
then, or restart now to complete the PHP extension process:
$ sudo systemctl restart apache2 Copy
After you’ve restarted, or if you’re choosing to wait, you can continue to the next
section to begin making adjustments to the Apache configuration.
Step 3 — Adjusting Apache’s Con guration to Allow
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
host one website on this server. If not, it’s better to split the necessary
configuration into logical chunks, one file per site.
With your paths identified, you can move on to working with .htaccess so that
Apache can handle configuration changes on a per-directory basis.
Enabling .htaccess Overrides
Currently, the use of .htaccess files is disabled. WordPress and many WordPress
plugins use these files extensively for in-directory tweaks to the web server’s
behavior.
Open the Apache configuration file for your website with your preferred text
editor. Here, we’ll use nano :
$ sudo nano /etc/apache2/sites-available/wordpress.conf Copy
To allow .htaccess files, you need to set the AllowOverride directive within a
Directory block pointing to your document root. Add the following content inside
the VirtualHost block in your configuration file, making sure to use the correct
web root directory:
/etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80>
. . .
<Directory /var/www/ wordpress/ >
AllowOverride All
</Directory>
. . .
</VirtualHost>
When you are finished, save and close the file. In nano , you can do this by
pressing CTRL and X together, then Y , and ENTER .
Enabling the Rewrite Module
Next, you can enable mod_rewrite so that you can use the WordPress permalink
feature:
$ sudo a2enmod rewrite Copy
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
This allows you to have more human-readable permalinks to your posts, like the
following two examples:
http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name
The a2enmod command calls a script that enables the specified module within the
Apache configuration.
Enabling the Changes
Before implementing the changes you’ve made, check to make sure you haven’t
made any syntax errors by running the following test:
$ sudo apache2ctl configtest Copy
You may receive output like the following:
Output
AH00558: apache2: Could not reliably determine the server's fully qualif
Syntax OK
If you wish to suppress the top line, add a ServerName directive to your main
(global) Apache configuration file at /etc/apache2/apache2.conf . The
ServerName can be your server’s domain or IP address. This is just a warning
message, however, and doesn’t affect the functionality of your site. As long as the
output contains Syntax OK , you are ready to continue.
Restart Apache to implement the changes. Make sure to restart now even if you
have restarted earlier in this tutorial:
$ sudo systemctl restart apache2 Copy
Next, you’ll download and set up WordPress itself.
Step 4 — Downloading WordPress
Now that your server software is configured, you can download and set up
WordPress. For security reasons, it is always recommended to get the latest
version of WordPress from their site.
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
First, change into a writable directory (we recommend a temporary one like
/tmp ):
$ cd /tmp Copy
Then download the compressed release with the following curl command:
$ curl -O https://wordpress.org/latest.tar.gz Copy
Extract the compressed file to create the WordPress directory structure:
$ tar xzvf latest.tar.gz Copy
You’ll be moving these files into your document root momentarily. Before doing so,
you can add a dummy .htaccess file so that this will be available for WordPress
to use later.
Create the file by running the following:
$ touch /tmp/wordpress/.htaccess Copy
You’ll also copy over the sample configuration file to the filename that WordPress
reads:
$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php Copy
Additionally, create the upgrade directory so that WordPress won’t run into
permissions issues when trying to do this on its own following an update to its
software:
$ mkdir /tmp/wordpress/wp-content/upgrade Copy
Now you can copy the entire contents of the directory into your document root.
We are using a dot at the end of our source directory to indicate that everything
within the directory should be copied, including hidden files (like the .htaccess
file we created). Ensure that you replace the /var/www/ wordpress directory with
the directory you have set up on your server:
$ sudo cp -a /tmp/wordpress/. /var/www/ wordpress Copy
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
You’re now ready to configure your WordPress directory.
Step 5 — Con guring the WordPress Directory
Before starting the web-based WordPress setup, you need to adjust some items
in your WordPress directory.
Adjusting the Ownership and Permissions
Now, you need to make some changes to the main WordPress configuration file.
When you open the file, your first task will be to adjust some secret keys to
provide a level of security for your installation. WordPress provides a secure
generator for these values so that you do not have to try to come up with good
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
values on your own. These are only used internally, so it won’t hurt usability to
have complex, secure values here.
To grab secure values from the WordPress secret key generator, run the following:
$ curl -s https://api.wordpress.org/secret-key/1.1/salt/ Copy
You will receive unique values that resemble output similar to the following:
Warning! It is important that you request unique values each time. Do NOT copy
the following example values!
Output
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES
define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES
define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES
define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES
define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES
define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES
define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES
These are configuration lines that you can place directly into your configuration
file to set secure keys. Copy the output you received now.
Next, open the WordPress configuration file:
$ sudo nano /var/www/ wordpress /wp-config.php Copy
Find the section that contains the example values for those settings:
/var/www/wordpress/wp-config.php
. . .
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
. . .
Delete those lines and insert the values you copied from the command line:
/var/www/wordpress/wp-config.php
. . .
. . .
Next, you’re going to modify some of the database connection settings at the
beginning of the file. You need to adjust the database name, the database user,
and the associated password that you configured within MySQL.
The other change you need to make is to set the method that WordPress should
use to write to the filesystem. Since you’ve given the web server permission to
write where it needs to, you can explicitly set the filesystem method to “direct”.
Failure to set this with your current settings would result in WordPress prompting
for FTP credentials when performing some actions.
This setting can be added below the database connection settings, or anywhere
else in the file:
/var/www/wordpress/wp-config.php
. . .
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', ' wordpress ' );
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
define( 'DB_HOST', 'localhost' );
. . .
define('FS_METHOD', 'direct');
Web Interface
Now that the server configuration is complete, you can complete the installation
through the web interface.
In your web browser, navigate to your server’s domain name or public IP address:
https:// server_domain_or_IP
You will be prompted to select the language you would like to use:
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Next, you will come to the main setup page.
Select a name for your WordPress site and choose a username. It is
recommended to choose something unique and avoid common usernames like
“admin” for security purposes. A strong password is generated automatically.
Save this password or select an alternative strong password.
Enter your email address and select whether you want to discourage search
engines from indexing your site:
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
When you click ahead, you will be taken to a page that prompts you to log in:
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Once you log in, you will be taken to the WordPress administration dashboard:
At this point, you can begin to design your WordPress website. If this is your first
time using WordPress, explore the interface to get acquainted with your new
CMS.
Conclusion
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
You can refer to other resources on alternate ways to install WordPress, learn how
to install WordPress on different server distributions, automate your WordPress
installations, and scale your WordPress sites by checking out our WordPress
Community tag.
Thanks for learning with the DigitalOcean Community. Check out our
offerings for compute, storage, networking, and managed databases.
Learn more about us
answer?
Ask a question
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Comments
heusmich
July 28, 2023
I have the problem that I also don´t see the Wordpress website that I have
to access in step 6. Deleting the index.html. and restarting apache doesn´t
help. Does anybody know what to do?
Show replies Reply
jmora2ec
July 22, 2023
I followed this guide ( and prerequisites) I have one wordpress and one
static site on wsl2 I think has better performance than xampp, I made some
tweaks on permissions and symbol links but nothing that google cannot
find. thanks for sharing.
Reply
LittleGreenBlueSeal
April 20, 2023
For those encountering the issue at step 6, where the wordpress config
does not load and your apache index file loads instead, to fix: remove
index.html from the var/www/your_site_directory, then restart apache.
Navigating to your domain/ip opens up the wordpress setup as per the rest
of the instructions. Hope this helps.
Show replies Reply
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Jos Vlaar
April 3, 2023
Using a \ in my database users password caused a database connection
error in WordPress. Removing this character from the password
(miraculously) made everything work…
Reply
Jos Vlaar
April 3, 2023
This comment has been deleted
Julien Croy
March 15, 2023
This guide is broken, followed every step and displays default page at end.
Either missing a path in a config or data is in incorrect folder.
Show replies Reply
aarona2davis
March 1, 2023
After several attempts using this guide it appears there is missing
information. The site will not load, only the default apache page does…
Reply
a9ddb8417d674522bbcbd0e190
October 13, 2022
Guys, i am just getting apache first page when i am browsing localhost on
my browser. I have done everything here few times including reinstalling
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
whole ubuntu. Everytime i get the same apache page. Cant get to install
wordpress . Anyone have any ideas how i can make this work?
Reply
Eduardo Guzman
September 29, 2022
Hello, after installation, when I try to visit:
https://<my_domain>/wp-admin/install.php
For step #6, I get a 404 Not Found nginx/1.18.0
I raised a question directly with Wordpress here, I’ve tried almost everything
but is just not working. Any help is appreciated.
Reply
Sundance Vargas
September 14, 2022
Had to sudo nano /etc/apache2/apache2.conf and change the AllowOveride
to All from None to make postnames work for wordpress…
Directory /var/www/ Options Indexes FollowSymLinks AllowOverride All
Require all granted </Directory>
and then restart apache2
Reply
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0
International License.
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Hollie's Hub for Good
Become a
contributor
Featured on Community
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Getting started with Go Intro to Kubernetes
DigitalOcean Products
DigitalOcean makes it simple to launch in the cloud and scale up as you grow –
whether you’re running one virtual machine or ten thousand.
Learn more
Sign up and get $200 in credit for your first 60 days with DigitalOcean.
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Get started
This promotional offer applies to new account only.
Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com