Chcemy mieć własną stronę, ale nie znamy się na kodowaniu. Czy możemy sobie z tym poradzić? Oczywiście! Możemy użyć systemów [CMS](https://pl.wikipedia.org/wiki/System_zarz%C4%85dzania_tre%C5%9Bci%C4%85) – Content Management System czyli System Zarządzania Treścią. Są to aplikacje webowe umożliwiające łatwe publikowanie oraz dostosowywanie do potrzeb naszych treści.
Przykładami niech będą [WordPress ](https://pl.wordpress.org/)oraz [Drupal](https://www.drupal.org/).
Na naszej maszynie, na której mamy zainstalowanego [LAMP](https://myhomelab.edu.pl/index.php/poradniki/linux/linux-instalacja-serwera-lamp/)a wgramy WordPressa i uruchomimy naszego CMSa.
Uwaga!
Wszystkie nazwy użytkowników, baz danych oraz hasła są przykładowe i należy używać własnych, trudnych do złamania haseł oraz nie wolno ich nikomu podawać!
Najpierw zaktualizujmy nasz system:
apt-get update && apt upgrade
Teraz doinstalujemy potrzebne nam moduły PHP:
apt-get install php php-curl php-fpm php-bcmath php-gd php-soap php-zip php-curl php-mbstring php-mysqlnd php-gd php-xml php-intl php-zip
Możemy sprawdzić wersję PHP (na wszelki wypadek):
php -v
Wynik powinien być podobny do tego:
root@MyHomeLabVM-2:/# php -v
PHP 8.2.18 (cli) (built: Apr 11 2024 22:07:45) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.18, Copyright (c) Zend Technologies
with Zend OPcache v8.2.18, Copyright (c), by Zend Technologies
root@MyHomeLabVM-2:/#
Teraz przygotujmy bazę danych dla naszego systemu.
Wchodizmy do bazy danych:
mysql -u root -p
I następnie zakładamy bazę danych:
CREATE DATABASE wpdb;
Tworzymy użytkownika, przydzielamy mu uprawnienia do naszej bazy danych oraz ustalamy hasło:
GRANT ALL PRIVILEGES ON wpdb.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'p@ssw0rd';
Odświeżamy uprawnienia:
FLUSH PRIVILEGES;
I opuszczamy MariaDB:
QUIT ;
W przeglądarce wpisujemy adres naszego serwera. W moim LABie nie mam jeszcze postawionego DNSa więc wpisuję adres IP:
192.168.1.119
Wyświetla się strona:
Po wybraniu języka przechodzimy dalej.
Wpisujemy dane połączeniowe do naszej bazy danych:
Na następnym ekranie zobaczymy pole z danymi do przekopiowania do pliki
wp-config.php
Edytujemy plik:
root@MyHomeLabVM-2:/var/www/html# nano wp-config.php
I wklejamy treść zaczynając od znacznika
<?php
/** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the installation. * You don't have to use the website, you can copy this file to "wp-config.php" * and fill in the values. * * This file contains the following configurations: * * * Database settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://wordpress.org/documentation/article/editing-wp-config-php/ * * @package WordPress */ // ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'wpdb' ); /** Database username */ define( 'DB_USER', 'wordpress_user' ); /** Database password */ define( 'DB_PASSWORD', 'p@ssw0rd' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8mb4' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); /**#@+ * Authentication unique keys and salts. * * Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}. * * You can change these at any point in time to invalidate all existing cookies. * This will force all users to have to log in again. * * @since 2.6.0 */ define( 'AUTH_KEY', '-:7D0~I#,9mo+0sGc+J;Py.6LQZD0;iEi&~/EdO&n,_>h0x}6TGF#=!zHcKqL;2)' );
define( 'SECURE_AUTH_KEY', 'JKH:Ft8T?UMLTz^ve}v;XMk5y0J<s(=em=m> ^p{qL3Y9U G6]C<,jv[+D#.Nk!0' ); define( 'LOGGED_IN_KEY', 'hW$Y6`]@!>=dafNU(t%[{`0!=Qcea1-XNn6iE*QRGi4q[gQxiJ&R*=d<sd5p`di<' ); define( 'NONCE_KEY', '1-8lZ> YMZ4RPkc[#;,2[c]JEfbWuXq4!`A6L+wEQsD@z5sShP;^eXTbF>2,CGm' );
define( 'AUTH_SALT', 'C$j7~#aK(*!wrniAJd1E1zWb(4}?F,6[A1j.G}K<0cI4Z[ Js@/9x65E?M-_?a=l' ); define( 'SECURE_AUTH_SALT', '(>|4T*}Mg2Y8Jq0?qq]]2pY)oCw%U[^]T~;{RqPU4=&-N}_M)j=f+V#LYH|*rSjB' );
define( 'LOGGED_IN_SALT', 'xCBZ`aXO0:k5{;^,!Z8j`6B/W[t#210SUD9<F/XCzSh1FHK`ctE)oFIs2ysw;Su>' );
define( 'NONCE_SALT', '!X;ywT.DKAHc0 AT<g2:#K)Kl&J/9y)UxXC&V20IFJD6{]IZhV;VxjchZ(KIy0?Q' );
/**#@-*/
/**
* WordPress database table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the documentation.
*
* @link https://wordpress.org/documentation/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/* Add any custom values between this line and the "stop editing" line. */
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
Przechodzimy do następnego kroku w przeglądarce…
Jeszcze chwila i jest: