あちこちのサーバーでClosedにWordPressにメモなどを書いていたのをxmlで吐き出して、自分のパソコンのWordPressに読み込ませよう、サーバーは全部解約しよう、と思い立ちました。
環境はUbuntu 16.04です。サーバーではなくて、普通のデスクトップ。
Local WordPressで、検索するといっぱいヒットするのですが、結構トラブって、成功したのでメモを残して起きます。
mysqlとapacheが動いていなかったら、taskselを使うとlamp-serverが一度にできる。
sudo apt update
sudo apt install tasksel
sudo tasksel install lamp-server
これでapacheとmysqlがインストールされて起動しています。マシンを再起動してもサービスは動いている。
ブラウザーでlocalhostとすると、apacheの画面が出る。
これは/var/www/html/index.htmlが表示されている。ここにinfo.phpを作って、ブラウザーでlocalhost/info.phpとすると表示された。ここにwordpress/*をコピーすると、index.phpでwordpressが立ち上がるとかいうしくみ(後述)。
まずmysqlを設定する。
mysql -u root -p
mysql> CREATE DATABASE databasename DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> GRANT ALL ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
mysql> select Host, User, authentication_string from mysql.user;
mysql> exit;
php関係
sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
sudo systemctl restart apache2
sudo vim /etc/apache2/apache2.conf
<Directory /var/www/html/>
AllowOverride All
</Directory>
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo service apache2 restart
sudo vim /etc/php/7.0/apache2/php.ini
post_max_size = 64M
upload_max_filesize = 64M
max_execution_time = 3000
sudo service apache2 restart
wordpress関係
mkdir mywordpress
cd mywordpress
wget http://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip
mv wordpress/* .
rmdir wordpress
rm *.zip
その他権限など。
sudo touch ./.htaccess
sudo chmod 660 ./.htaccess
sudo cp ./wp-config-sample.php wp-config.php
sudo mkdir ./wp-content/upgrade
sudo cp -a . /var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod g+s {} \;
sudo chmod g+w /var/www/html/wp-content
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins
sudo vim /var/www/html/wp-config.php
define('DB_NAME', 'db_name');
define('DB_USER', 'wordpressuser');
define('DB_PASSWORD', 'password');
sudo mv index.html index.html.old
これで無事動きました。
注:
sudo vim /var/www/html/info.php
<?php
phpinfo();
?>
でlocalhost/info.phpを見る。