Contents
1. MariaDB
1.1 MariaDB Installation
①Install
1 |
# pacman -S mariadb |
➁Configure MariaDB
1 |
# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql |
➂Start mariadb.service
1 2 3 |
# systemctl start mariadb.service # systemctl enable mariadb.service Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service. |
④MariaDB Security Settings
Change the password for the root user of the MariaDB server.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# mysql_secure_installation /usr/bin/mysql_secure_installation: Deprecated program name. It will be removed in a future release, use 'mariadb-secure-installation' instead NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
⑤initialization
1 2 3 4 |
# vim /etc/my.cnf # Line 12 : add [mysqld] character-set-server=utf8 |
⑥Restart MariaDB Service
1 |
# systemctl start mariadb.service |
⑦Check the status of the service and make sure it is actually running
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# systemctl status mariadb ● mariadb.service - MariaDB 11.2.2 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled) Active: active (running) since Fri 2023-12-22 16:24:24 JST; 13min ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 71051 (mariadbd) Status: "Taking your SQL requests now..." Tasks: 8 (limit: 4631) Memory: 131.0M (peak: 138.6M) CPU: 378ms CGroup: /system.slice/mariadb.service mq71051 /usr/bin/mariadbd Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] InnoDB: log sequence number 46300; transaction id 14 Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] Plugin 'wsrep-provider' is disabled. Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] InnoDB: Buffer pool(s) load completed at 231222 16:24:24 Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] Server socket created on IP: '0.0.0.0'. Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] Server socket created on IP: '::'. Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] mariadbd: Event Scheduler: Loaded 0 events Dec 22 16:24:24 Lepard mariadbd[71051]: 2023-12-22 16:24:24 0 [Note] /usr/bin/mariadbd: ready for connections. Dec 22 16:24:24 Lepard mariadbd[71051]: Version: '11.2.2-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 Arch Linux Dec 22 16:24:24 Lepard systemd[1]: Started MariaDB 11.2.2 database server. |
⑧Check the version of MariaDB
1 2 |
# mariadb -V mariadb from 11.2.2-MariaDB, client 15.2 for Linux (x86_64) using readline 5.1 |
⑨Firewalls are enabled and services are allowed if MariaDB is used remotely.
1 2 |
# ufw allow mysql # ufw reload |
1.2 phpMyAdmin Installation
Installed phpMyAdmin and configured it to operate MariaDB via web browser
①Install
1 |
# pacman -S phpmyadmin |
You need to enable the mysqli extension for PHP. Edit /etc/php/php.ini
1 2 3 4 5 6 7 8 9 10 |
# vim /etc/php/php.ini Per Line 319 : add open_basedir = /srv/http/:/var/www/:/home/:/tmp/:/var/tmp/:/var/cache/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/ Per Line 931 : Uncomment extension=mysqli Per Line 936 : Uncomment extension=pdo_mysql |
Create new phpmyadmin.conf
1 2 3 4 5 6 7 8 9 10 |
# touch /etc/httpd/conf/extra/phpmyadmin.conf Describe the following Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin" <Directory "/usr/share/webapps/phpMyAdmin"> DirectoryIndex index.php AllowOverride All Options FollowSymlinks Require all granted </Directory> |
Edit httpd.conf
1 2 3 4 |
# vim /etc/httpd/conf/httpd.conf Add to last line Include conf/extra/phpmyadmin.conf |
Restart Apache
1 |
# systemctl restart httpd |
②Access http://[IP address]/phpMyAdmin in your browser
The following login screen will appear
Username : root
Password: Password for the root user set in the MariaDB security installation
Log in Click
The following phpMyAdmin settings screen appears
1.3 MariaDB Database + User Creation Example
I'll create a user, password, and database for wordpress to install next.
Database : wp_db
User : wp_user
Password : ?WHxx333Yo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# mysql -u root -p mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 11.2.2-MariaDB Arch Linux Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database wp_db; Query OK, 1 row affected (0.010 sec) MariaDB [(none)]> create user 'wp_user'@'localhost' identified by '?WHxx333Yo'; Query OK, 0 rows affected (0.016 sec) MariaDB [(none)]> grant all on wp_db.* to 'wp_user'@'localhost'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> exit Bye |
2. WordPress Install
2.1 Required library installation
1 |
# pacman -S php-gd |
2.2 Edit php.ini
1 2 3 4 5 6 7 |
# vim /etc/php/php.ini Add /srv/[FQDN] per line 319 open_basedir = /srv/[FQDN]/:/srv/http/:/var/www/:/home/:/tmp/:/var/tmp/:/var/cache/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/ Per Line 925 : Uncomment extension=gd |
2.3 WordPress Download and Installation
1 2 3 |
# cd /srv/[FQDN] # wget http://wordpress.org/latest.tar.gz # tar zxvf latest.tar.gz |
2.4 Editing Configuration Files
1 2 |
# cd /srv/[FQDN]/wordpress/ # cp wp-config-sample.php wp-config.php |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# vim wp-config.php /** The name of the database for WordPress */ define( 'DB_NAME', 'wp_db' ); [Database Name] /** Database username */ define( 'DB_USER', 'wp_user' ); [User name] /** Database password */ define( 'DB_PASSWORD', '?WHxx333Yo' ); [Passwod] /** Database hostname */ Also, add the following to the last line If you do not do this, you will be asked for what amounts to FTP connection information when you add the plugin。 efine('FS_METHOD', 'direct'); |
2.5 Moving Files
Move the expanded contents under /srv/[FQDN]
1 2 |
# cd /srv/[FQDN]/ # mv wordpress/* . |
After confirming that the files have been moved, delete the wordpress directory and the downloaded latest.tar.gz
1 2 3 |
# cd /srv/[FQDN]/ # rm -Rf wordpress # rm latest.tar.gz |
Make apache the owner of the wordpress directory.
If you don't do this, you will be told that the directory cannot be created when installing plugins, etc.
1 2 |
# chown -R http:http /srv/[FQDN]/ # chmod 775 -R /srv/[FQDN]/ |
1 |
# systemctl restart httpd |
2.6 Startup Confirmation
Connect to "http://[FQDN]/wp-admin/install.php" with your browser, enter your username, password, and other necessary information to start the installation
Select English for language
Access the WordPress administration screen in the figure below, and you will see the initial settings installation screen including "User Name" and "Password".
ので
Site Title : Any title
Username : Any User name
Password : Any Password
Your Email : Administrator's email address
Click "Install WordPress"
Click"Log In"
You will be prompted to enter your "username or email address" and "password" for the WordPress administration screen.。