UbuntuにLocalにWordPressをインストール

あちこちのサーバーでClosedにWordPressにメモなどを書いていたのをxmlで吐き出して、自分のパソコンのWordPressに読み込ませよう、サーバーは全部解約しよう、と思い立ちました。

 

環境はUbuntu 16.04です。サーバーではなくて、普通のデスクトップ。

Local WordPressで、検索するといっぱいヒットするのですが、結構トラブって、成功したのでメモを残して起きます。


mysqlapacheが動いていなかったら、taskselを使うとlamp-serverが一度にできる。
sudo apt update
sudo apt install tasksel
sudo tasksel install lamp-server
これでapachemysqlがインストールされて起動しています。マシンを再起動してもサービスは動いている。
ブラウザーlocalhostとすると、apacheの画面が出る。

これは/var/www/html/index.htmlが表示されている。ここにinfo.phpを作って、ブラウザーlocalhost/info.phpとすると表示された。ここにwordpress/*をコピーすると、index.phpwordpressが立ち上がるとかいうしくみ(後述)。

 

まず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を見る。