CentOS7にMagic3をインストール

Magic3はHTMLなどの知識がなくても運営可能なCMSのようです

Magic3は、国産のCMS(Contents Management System)です。CMSは、Wordpressなどのような、ブログなどを含むWebサイトを構築、運用管理できるソフトウエアです。通常必要となる知識が無くても構築できるというもののようです。どのくらい知識が必要なくても大丈夫なのかに興味が湧いているので、Magic3環境を構築してみます。

Magic3とは

簡単にWebサイトが構築できると言われているWordpressでも、HTMLやPHPなどのプログラム知識が少しでもないとWebサイトを構築するのは難しいです。まったく知識の無い方が、情報を基にして構築したとしても、少しの躓きで予想外の動作や表示を行うようになってしまうことが多いです。
Magic3は、プログラムのことがまったく分からなくてもかなりいろんなことが出来ることを目指して開発された、プログラミングレスCMSというカテゴリに属すものです。

公式Webサイトでは、Magic3の特徴を次のように記載されています。

  • 初心者から上級者まで利用可能なノンコーディングシステム
    プログラムを書いたりHTMLタグを編集したりしないでWebサイトが構築、運用できます。
    コンピュータの専門知識のない初心者からすぐに利用できるソフトウェアです。
  • たくさんの機能
    ブログ、フォトギャラリー、Wiki、Eコマースなどなど。たくさんの機能が利用できます。
  • たくさんのテーマ(テンプレート)
    WordPress?のテーマにも対応し、たくさんのデザインが選択できます。 https://wordpress.org/themes/browse/new/
  • SEOに強いサイト
    コンテンツが種別ごとにきっちりと分類されている仕組みは、検索エンジンが理解しやすいデータ構造です。
    特に何もしないでも検索エンジンの上位にサイトが表示されるようになります。
  • 安心安全の強固なセキュリティ
    数々のセキュリティ機能によってWebサイトは強力に防御されます。過去10年以上、今までのハッキング被害は0です。
  • オープンソースソフトウェア
    誰でも承諾なしに自由にダウンロードして、無料で利用することができます。
  • 出典: Magic3公式サイト
    http://www.magic3.org/doc/

Magic3の動作環境

Magic3は一般的なLAMP環境で動作します。LAMP`環境とは、Linux上でApache、MySQL、PHP(PythonやPerlの場合もあり)をインストールして構築するWeb環境の意味になります。データベースをMySQLではなく、PosgreSQLを使用するとLAPP環境と呼ばれます。

  • OS:(特に制約なし)、UNIX、MacOSX、Windows
  • Webサーバ:Apache(バージョンの制約は特になし)
  • データベース:MySQL5以上、もしくはPostgreSQL8以上
  • PHP:5.3以上

このシステム要件だけみれば、例えばCentOS7の標準リポジトリだけでインストールできそうです。

Magic3のインストール環境を構築

今回はCentOS7 minimal でインストールした状態の標準でインストールされているリポジトリでインストールします。

# yum install httpd
# yum install php
# yum install mariadb mariadb-server

MySQLではなくMariaDBがCentOSの標準になっているので、MariaDBをインストールします。
バージョンを確認します。

# httpd -v
Server version: Apache/2.4.6 ()
Server built:   Apr 20 2018 18:10:38
# php -v
PHP 5.4.16 (cli) (built: Apr 12 2018 19:02:01)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
# rpm -qa |grep -i mariadb
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64

apacheとMariaDBを有効化します

# systemctl enable httpd.service
# systemctl enable mariadb.service

firewalldの設定

firewallでhttpを通すように設定します。
下記で実施しているコマンドの内容は、

  1. firewallの設定を確認
  2. firewallでhttpを通すように設定
  3. firewalldを再起動
  4. firewallの設定を確認
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8 enp0s9
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

# firewall-cmd --add-service=http --zone=public --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8 enp0s9
  sources:
  services: dhcpv6-client ssh http
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

apacheの設定

ServerName項目にインストールしたサーバ名、もしくはIPアドレスを追加します。

# vi /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
ServerName 192.168.1.104:80

apacheへのアクセス確認

他のコンピュータからapacheを起動しているサーバへアクセスします。
サンプル例: http://192.168.1.104

上記の画面(画像は別環境のもの)が表示されればapacheは動作しています。

PHPの動作確認

/var/www/html以下(document rootが/var/www/htmlの場合)に、phpinfo.phpというファイルを作成します。

# vi /var/www/html/phpinfo.php

次の内容を書き込みます。

<?php
  phpinfo();
?>

他のコンピュータからapacheを起動しているサーバへアクセスします。
サンプル例: http://192.168.1.104/phpinfo.php
PHP
上記の画面(画像は別環境のもの)が表示すればPHPは動作しています。

MariaDBを初期化

MariaDBを使用するには初期化が必要になります。次のような手順でMariaDBを初期化します。

  1. 文字コードを設定します
    サンプルのmy-small.cnfをコピーしてserver.cnfとします
  2. # cp -p /usr/share/mysql/my-small.cnf /etc/my.cnf.d/server.cnf
    cp: `/etc/my.cnf.d/server.cnf' を上書きしますか? y
    
  3. [client]と[mysqld]以下に文字コードを追加します
    [client]箇所:default-character-set = utf8
    [mysqld]箇所:character-set-server = utf8
  4. # The following options will be passed to all MySQL clients
    [client]
    #password       = your_password
    port            = 3306
    socket          = /var/lib/mysql/mysql.sock
    default-character-set = utf8
    
    # Here follows entries for some specific programs
    
    # The MySQL server
    [mysqld]
    port            = 3306
    socket          = /var/lib/mysql/mysql.sock
    skip-external-locking
    key_buffer_size = 16K
    max_allowed_packet = 1M
    table_open_cache = 4
    sort_buffer_size = 64K
    read_buffer_size = 256K
    read_rnd_buffer_size = 256K
    net_buffer_length = 2K
    thread_stack = 240K
    character-set-server = utf8
    
  5. mariaDBを開始します
  6. # systemctl start mariadb.service
    
  7. mysql_secure_installationを実行します
  8. # mysql_secure_installation
    

    まだ設定していないので空白のまま[Enter]キーを押します

    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
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):
    

    rootパスワードを設定しますか?にYを入力します

    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] y
    

    続けてパスワードを入力します

    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    

    anonymous usersを削除しますか?にYを入力します

    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
    

    rootユーザのリモートログインを許可しないにyを入力します

    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!
    

    テストデータベースを削除しますか?にYを入力します

    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!
    

    ユーザ権限のテーブルをリロードしますか?にYを入力します

    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!
    
  9. MariaDBにログインしてみます
  10. # mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 5.5.56-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>
    
  11. データベースを確認してみます
  12. MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.00 sec)
    
  13. ログアウトします
  14. MariaDB [(none)]> exit
    Bye
    

Magic3をインストール

インストールする環境を準備したので、Magic3をインストールします。

Magic3のインストールパッケージをダウンロード

OSDNサイト
https://ja.osdn.net/projects/magic3/

2018年6月27日時点のファイルは下記でした。
magic3_2.30.13_src.tar.gz

Magic3のインストール

  1. ダウンロードしたファイルをサーバにコピーします
    コピー先ディレクトリはどこでもいいですが、ここでは/var/www/htmlにコピーします
  2. # ls -l /var/www/html
    -rw-r--r--. 1 root root 47563295  6月 27 16:41 magic3_2.30.13_src.tar.gz
    
  3. tar zxvf magic3_2.30.13_src.tar.gzを解凍します
  4. # cd /var/www/html
    # tar zxvf magic3_2.30.13_src.tar.gz
    # ls -l
    drwxr-xr-x. 14 apache apache     4096  6月 27 09:39 magic3
    -rw-r--r--.  1 root   root   47563295  6月 27 16:41 magic3_2.30.13_src.tar.gz
    

この方法では、/var/www/html/magic3にインストールしています。ブラウザからアクセスする場合は http://サーバ名/magic3/ でアクセスします。

Magic3用のデータベースとユーザを作成

インストール済のMariaDBにMagic3用のデータベースとユーザを作成します。
ここでは次のように作成しました。これはかなりの脆弱なアカウントとパスワードなので、実際にはセキュリティを高めましょう。
データベース: magic3db
ユーザ: maic3
パスワード: magic3

  1. MariaDBにログインします
  2. # mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 11
    Server version: 5.5.56-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>
    
  3. magic3用データベースを作成します
  4. MariaDB [(none)]> create database magic3db;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | magic3db           |
    | mysql              |
    | performance_schema |
    +--------------------+
    4 rows in set (0.00 sec)
    
  5. magic3用ユーザを作成します
  6. MariaDB [(none)]> grant all privileges on magic3db.* to magic3@localhost identified by 'magic3';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> select user from mysql.user where user='magic3';
    +--------+
    | user   |
    +--------+
    | magic3 |
    +--------+
    1 row in set (0.00 sec)
    
    MariaDB [(none)]>
    

ブラウザからmagic3のインストーラ実行

ブラウザからmagic3のインストーラを起動します。

  1. ブラウザからhttp://サーバ名/magic3/admin/install.phpを開きます
    この環境ではdocument rootが/var/www/htmlです
  2. [言語]日本語を選択して[次へ]をクリックします
  3. Magic3

  4. インストール環境チェックが表示したら内容を確認します
    ここではいくつか必要な値を満たしていないので確認しました
  5. Magic3
    Magic3

  6. ディレクトリのアクセス権を変更します
  7. # chmod 777 /var/www/html/magic3/include/
    # chmod 777 /var/www/html/magic3/resource/
    
  8. 不足パッケージをインストールします
  9. # yum install php-mbstring php-pdo php-gd php-mysqlnd
    # systemctl restart httpd.service
    
  10. 書き込み不可のエラーがなくなりませんでした
  11. Magic3

  12. 権限は777で設定しているがディレクトリへの書き込みが不可ということで、SELinuxを疑ってみます
  13. # getenforce
    Enforcing
    # vi /etc/selinux/config
    
    SELINUX=disabledに変更
    

    サーバを再起動

    # getenforce
    Disabled
    

    Magic3

  14. 環境チェックでエラーがなくなったら、画面下部の[次へ]をクリックします
  15. DB接続情報を入力して[接続テスト]をクリックします
    接続テスト結果が接続正常と表示されたら[設定値を更新]をクリックします
  16. Magic3
    Magic3

  17. 設定値を更新しますか?に[OK]をクリックします
  18. Magic3

  19. 設定値が更新されたら[次へ]をクリックします
  20. Magic3

  21. DB構築で[実行]をクリックします
  22. Magic3

  23. 任意ですがデモデータをインストールできます
    デモデータをインストールする場合は[]をクリックします
    ここでは[インストール]をクリックしてデモサイトをインストールしてみます
  24. Magic3

  25. データをインストールしますか?に[OK]をクリックします
  26. Magic3

  27. データのインストールが完了したら[次へ]をクリックします
  28. Magic3

  29. インストール完了画面で[インストーラを削除して終了]をクリックします
    ここで記載されているユーザとパスワードは覚えておく必要があります
  30. Magic3

  31. ログイン画面が表示します
  32. Magic3

Magi3にログインしてみます

インストールが完了したら、Magic3にログインしてみます。
Magic3
ここで入力するアカウントとパスワードはインストール完了時に表示されていたものを使用します。
Magic3
管理者画面は下記です。
Magic3
[サイト名未設定]をクリックしてみると、このサイトのトップページが開きます。
デモデータをインストールしてあるので、このように表示されます。
Magic3
ここまででインストールが完了になります。

管理者用パスワードを変更しましょう

ログインができることを確認したら、管理者用アカウントのパスワードを変更しましょう。ユーザ:admin パスワード:adminというのは、脆弱過ぎます。

  1. 右上の[管理者]項目でドロップダウンを開き[ユーザ情報]選択します
  2. Magic3

  3. [パスワード]項目に変更するパスワードを入力して[更新]をクリックします
  4. Magic3

  5. 右上の[管理者]項目でドロップダウンを開き[ログアウト]を選択します
  6. Magic3

  7. ログアウトしますか?に[OK]をクリックします
  8. Magic3

  9. 変更したパスワードでログインできることを確認します
  10. Magic3

サイトの基本情報を設定しましょう

Webサイトを構築する最初の段階として、サイトの基本情報を設定しましょう。

  1. [メニュー]を開いて[システム情報]→[基本情報]を選択します
  2. Magic3

  3. サイト情報を入力して[更新]をクリックします
    必須と書かれている項目は必須入力項目です
  4. Magic3

  5. 更新しますか?に[OK]を入力します
  6. [サイト名未設定]をクリックします
  7. Magic3

  8. サイト名とスローガンがサイトタイトルに表示されているのを確認します
  9. Magic3

  10. [メニューバーを表示]をクリックして[管理画面へ遷移]をクリックします
  11. Magic3

  12. [サイト名未設定]の箇所が設定したサイトタイトルに変わっています
  13. Magic3

このような形で、見た目などを変更していきます。

ブログに記事を投稿してみましょう

実際は、サイトを構築してからになりますが、ブログ形態をしていますので、新規で記事を書いてみましょう。

  1. [メニュー]を開いて[PC画面]を選択します
  2. Magic3

  3. [ブログ-メイン]の[ウィジェット設定]をクリックします
  4. Magic3

  5. ブログ記事一覧で[新規]をクリックします
  6. Magic3

  7. ブログの記事を入力して[新規追加]をクリックします
  8. Magic3
    Magic3

  9. 追加が完了したら[編集(非公開)]をクリックして[公開]に変更します
  10. Magic3

  11. [更新]をクリックします
  12. Magic3

  13. 項目を更新しますか?に[OK]をクリックします
  14. 管理画面に戻り、サイト名をクリックしてサイトを表示します]
  15. Magic3

短い内容なので判り難いかも知れませんが、記事が追加されました。
Magic3

ここまでの操作感は、環境チェックで躓いたくらいで簡単に構築できるCMSのようです。
もっと見た目なのどを変更してみないと公開はできませんが、社内での情報共有などで使うのであれば簡単に構築できるメリットは大きいのではないでしょうか。

スポンサーリンク
spdsk-side
spdsk-side