💡

Ubuntu18.04に作ったLAMPにMTインストール

2022/09/17に公開

こちらの記事を参考に、LAMPをインストールしました。
https://www.mofu2soken.com/archives/150

こちらの記事を参考に、CGIの設定しました。
https://www.server-world.info/query?os=Ubuntu_20.04&p=httpd&f=5

MTのための設定

/var/www/html/で、CGIが使えるように、上記の記事などを参考に設定しました。
また、ダウンロードしたフォルダから/var/www/html/にコピーしました。
私は、ダウンロードしたフォルダ名をmtに変更しました。
そして、権限を777にしました。
cgiは、755に権限を変えました。

root@Ubuntu:/var/www/html# ls
mt
root@Ubuntu:/var/www/html# cd mt
root@Ubuntu:/var/www/html/mt# chmod 755 *.cgi
root@Ubuntu:/var/www/html/mt# cd ../
root@Ubuntu:/var/www/html# chmod -R 777 mt

CGIの設定です。

vi /etc/apache2/conf-available/cgi-enabled.conf


# 新規作成
# [AddHandler cgi-script] に CGI として扱うファイルの拡張子を指定
<Directory "/var/www/html/">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl .py .rb
</Directory>

Apache2の設定
https://qiita.com/ekzemplaro/items/41f11ef8fad732d548cb

https://arc-tech.hatenablog.com/entry/2019/09/27/093513

MySQLの設定

MySQL起動
https://www.javadrive.jp/mysql/connect/index1.html

全権ユーザーの設定
https://qiita.com/sweetpox/items/77f014febdf9fc3fa038

ユーザー作成
https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql-ja

Perl モジュールのインストールの参考にしました。

https://qiita.com/kitashu/items/458ebb2c19af89d4ef37

https://server-setting.info/debian/perl-module-install-apt.html

でも、下記のように足りないモジュールのインストールのために、CPANを使いました。
https://server-setting.info/centos/cpan_perl_module_install.html

予めデータベースを作っておきましょう

testという名前のデータベースを作っています。

CREATE DATABASE test;

MT(Movable Type)のインストール

https://notes-de-design.com/website/movable-type/install-server-movable-type/

データベース関連のモジュールがなくエラーのとき

https://www.movabletype.jp/documentation/mt5/reference/install-perl-modules.html

DBD::mysqlがなくエラーになったので、色々検索しました。
https://blog.starbug1.com/archives/1277

このモジュールがエラーとなり、下記のような流れで、インストールしました。

cpan[1]> install DBD::MySQL
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 16 Sep 2022 07:41:03 GMT
Warning: Cannot install DBD::MySQL, don't know what it is.
Try the command

    i /DBD::MySQL/

to find objects with matching identifiers.


この実行結果で、

i /DBD::MySQL/

とあったので、入力してみました。

cpan[2]>  i /DBD::MySQL/
Bundle    Bundle::DBD::mysql     (DVEEDEN/DBD-mysql-4.050.tar.gz)
Module  < Class::DBI::ClassGenerator::DBD::mysql (DCANTRELL/Class-DBI-ClassGenerator-1.04.tar.gz)
Module  < DBD::mysql             (DVEEDEN/DBD-mysql-4.050.tar.gz)
Module  < DBD::mysql::AutoTypes  (GRISHACE/DBD-mysql-AutoTypes-1.0.tar.gz)
Module  < DBD::mysql::GetInfo    (DVEEDEN/DBD-mysql-4.050.tar.gz)
Module  < DBD::mysql::Install    (JWIED/Msql-Mysql-modules-1.2219.tar.gz)
Module  < DBD::mysql::SimpleMySQL (LINNIN/DBD-mysql-SimpleMySQL-0.5.tar.gz)
Module  < DBD::mysql::db         (DVEEDEN/DBD-mysql-4.050.tar.gz)

といっぱい表示されました。

cpan[3]> install DBD::mysql 

と入力したら、インストール出来ました。

データベースを作ったらテーブルにユーザーを紐つける

下記の記事のように、ユーザーにデータベースにテーブルを柄できる権限を与えてください。
https://www.javadrive.jp/mysql/user/index6.html

sendmailの設定

Movable Typeは、システムでメールを送信することが有るので、SMTPサーバーかsendmailを設定するように、画面が表示されます。
私は、postfixをインストールしました。
そしてSMTPサーバーとして、設定しました。

この記事が、分かりやすいです。
https://techcrop.net/ja/ubuntu20-04でpostfixを送信専用smtpサーバーとして設定する

https://ubuntu.perlzemi.com/blog/20200423174004.html

開放するポート番号

sendmailを使えるようにするため、25の開放が必要です。

sudo ufw allow 25

インストール時にデータベースのエラーが出るとき。

インストールを始めたときに、Failed to execute INSERT INTO mt_asset_meta」・・・のようなエラーが表示されるときは、こちらのページの記事の状況と思われます。
https://www.movabletype.jp/faq/failed-to-execute-insert-into-mt-asset-meta.html
my.cnfに、設定が必要とありました。
my.cnfの場所を調べる方法は、こちらの記事を参考にしました。
https://www.banana-juice.com/tech/articles/mysql/my-cnf

私の場合は、こちらのように、なりました。

 mysql --help | grep my.cnf
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 

修正方法は、こちらが参考になります。
https://qiita.com/am/items/91824da643256d46b847

MySQLに、ルートユーザーで、ログインします。

sudo mysql -u root -p

修正後再起動

mysql.server restart

修正結果

mysql> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 16777216 |
+--------------------+----------+
1 row in set (0.04 sec)

mysql> 

データベースのエラーは、ユーザーの権限で、インデックスの権限がついていませんでした。
下記の作業で、MTのデーターベスに限り、全権を付けたユーザーに変更しました。
ユーザー名は、testで作りました。

mysql>  GRANT ALL PRIVILEGES ON test.* TO test@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS FOR test@localhost;
+--------------------------------------------------------+
| Grants for test@localhost                              |
+--------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost'               |
| GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'localhost' |
+--------------------------------------------------------+
2 rows in set (0.00 sec)

MTのインストールが出来ました

Movable Typeのインストールと起動が、出来ました。

次に、進みます。

もし、Perlのモジュールで不足があれば、ここで足りないとメッセージが表示されます。

データベースでに接続できたら、次に進みます。

無事にデーターベース出来ましたので、次に進みます。

ユーザー情報を入力し、ログインできました。
サイトを作るときに、ディレクトリを指定します。
このときに権限が777でないと、フォルダの権限を確認してくださいという内容のエラーが表示されます。
予めサイトを設置するためのフォルダを作っておくと、良いと思います。

MTを使えるようにLAMPの起動コマンド

Apache2

Apache2が自動で起動してないときは、このコマンドで起動できます。

sudo service apache2 start

停止は、

sudo service apache2 stop

再起動

sudo service apache2 restart

こちらの記事から、引用転載しました。
https://deep-blog.jp/engineer/12315/

MySQL

MySQLは、自動起動だそうです。
このコマンドで、確認できます。

systemctl status mysql.service

起動

sudo systemctl start mysql

SMTP

Postfixのステータスを確認します。

sudo systemctl status postfix

Postfixの起動
このコマンドを実行するとサーバーが起動したときに、自動起動するようになります。

sudo systemctl enable postfix

こちらの記事から、引用転載しました。
https://techcrop.net/ja/ubuntu20-04でpostfixを送信専用smtpサーバーとして設定する

PHPMyAdminのインストール

MySQLをGUIで操作できるように、MyAdminをインストールします。
こちらの記事が、参考になります。
https://penpen-dev.com/blog/phpmyadmin-ubuntu/

PHPMyAdminにインポートしようとしたら、ファイルサイズが大きいとエラーになったとき

こちらの記事が、参考にになります。
https://shattered.blog.jp/archives/51930108.html

/etc/php/7.2/apache2/php.ini

で、見つかりました。

データベースのパスワードが分からなくなったとき

WordPressのwp-configと同じように、Movable Type(MT)にも設定ファイルが有ることを知りました。
mt-config.cgi
というファイルです。
この中に、データベースの接続情報が書かれています。

Discussion