moodleアップデート(3.3.2→3.6.2+)
検証・学習用にさくらのレンタルサーバーでひっそりと運用しているmoodleサイトを最新版(2019年2月現在)にアップデートしたので備忘録です。手順は基本的に以下のリファレンス通りに行えば大丈夫だと思いますが、翻訳のせいかちょっと戸惑う記載が多くて時間かかってしまいました。 mahakala.lesc.uec.ac.jp 以下、殴り書き注意。
動作環境の確認
まずは、環境が新バージョンのシステム要件を満たしているかチェックしておきます。moodleにサイト管理者アカウントでログインして、ダッシュボード > サイト管理 > サーバ > 動作環境で確認できます。 3.4以降からはPHP7.0以上が必要とのこと。さくらのレンタルサーバーではどのバージョンを使うか、コントロールパネルから選択できます。後述。
バックアップ
動作環境に問題が無ければ、データをバックアップしておきましょう。 バックアップするものは、主に以下3つ。
バックアップにはcpコマンドを使いました。バックアップ先をmkdirしておかないとうまくいかなかったけど、そういうものなんでしょうか?だれかご存知でしたら教えてください。。(それか、ほかにもっといい方法あれば。。)
cp -r コピー元ファイル名 コピー先ディレクトリ
DBのダンプはphpMyAdminのエクスポート機能を利用。
サイトをメンテナンスモードにする
別に誰が見るわけでもないのでしなくてもいいけど、一応しておきました(これも勉強)。ダッシュボード > サイト管理 > サーバ > メンテナンスモードでYesを選択します。メッセージは適当。
見え方はこんな感じ。
moodle3.6.2+をインストール
tgzファイルをダウンロードして、インストール先に置きます。普通はwgetでやるんでしょうね。。
tgzファイルを置いた場所にcdして以下のコマンドを実行。
tar xvzf tgzファイル名
展開されたら、moodleソフトウェアのバックアップからconfig.phpを新しいmoodleソフトウェアの中(home/www/moodleの直下)にコピーしておきます。
ここで、PHPのバージョンを7.xに切り替えておきます。(3.4以前では5.xが動作要件でした)さくらのレンタルサーバーでは、コントロールパネルから簡単に切り替えることができます。
アップグレードプロセスの起動
moodleサイトに移動します。動作環境やデータベースとの整合性等が自動でチェックされて、アップグレードが完了します。最後に、サイト管理者権限でログインして、メンテナンスモードをNoに戻して終わりです。
お疲れ様でした。
ローカル開発環境構築(COBOL編)
仕事の関係でCOBOLを学習する必要が出てきたため、せっかくなのでVagrantでopensource COBOLを動かせるローカル開発環境を構築してみました。 参考サイト様のほぼそのままですが(多謝)、とりあえずできたので備忘録も兼ねて記載しておきます。
■環境
使用PC:Windows10
構築する仮想マシン:CentOS6.8
■必要なソフトウェアのインストール
■ローカル開発環境(VM)の構築
今後仮想環境を複数作成する可能性を考慮して、仮想環境を括る”Vagrant”をCドライブ直下に作成し、その下に今回作成する仮想環境のディレクトリを作成
> mkdir C:\Vagrant\cbl_centos68
cdコマンドで移動
> cd C:\Vagrant\cbl_centos68
Vagrantfile の作成
C:\Vagrant\cbl_centos68>vagrant init bento/centos-6.8 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
Vagrantfileの編集
作成されたVagrantfileをエディタで開き、35行目、以下の部分のコメントアウトを外す
config.vm.network "private_network", ip: "192.168.33.10"
VMの起動
C:\Vagrant\cbl_centos68>vagrant up
C:\Vagrant\cbl_centos68>vagrant ssh
CentOSのアップデート
[vagrant@localhost ~]$ sudo yum update -y
opensource COBOLをインストール
opensource-cobol-1.4.0J-1.el6.x86_64.rpmを以下サイトからダウンロードして、先程作成したC:\Vagrant\cbl_centos68
に格納しておく
先程のrpmファイルがVagrantディレクトリに格納されているのを確認してlocalinstallを実行
[vagrant@localhost ~]$ cd /vagrant [vagrant@localhost vagrant]$ ls hello.cbl opensource-cobol-1.4.0J-1.el6.x86_64.rpm Vagrantfile [vagrant@localhost vagrant]$ sudo yum localinstall opensource-cobol-1.4.0J-1.el6.x86_64.rpm
途中必要となるパッケージのインストールを求められるので承認
Install 6 Package(s) Total size: 21 M Total download size: 20 M Installed size: 35 M Is this ok [y/N]: y
以下メッセージが表示されれば成功
Installed: opensource-cobol.x86_64 0:1.4.0J-1 Dependency Installed: cpp.x86_64 0:4.4.7-23.el6 gcc.x86_64 0:4.4.7-23.el6 glibc-devel.x86_64 0:2.12-1.212.el6 glibc-headers.x86_64 0:2.12-1.212.el6 kernel-headers.x86_64 0:2.6.32-754.2.1.el6 Complete!
バージョン確認
[vagrant@localhost vagrant]$ cobc -version opensource COBOL 1.4J OSS Consortium's patched version of OpenCOBOL1.1(Feb.06 2009) ---- cobc (OpenCOBOL) 1.1.0 Copyright (C) 2001-2009 Keisuke Nishida / Roger While Built May 07 2015 17:18:48 Packaged Feb 06 2009 10:30:55 CET
■必要な各ライブラリのインストール
gmp-develのインストール
[vagrant@localhost vagrant]$ sudo yum install gmp-devel
途中必要となるパッケージのインストールを求められるので承認
Install 1 Package(s) Total download size: 171 k Installed size: 337 k Is this ok [y/N]: y
以下メッセージが表示されれば成功
Installed: gmp-devel.x86_64 0:4.3.1-13.el6 Complete!
ncurses-develのインストール
[vagrant@localhost vagrant]$ sudo yum install ncurses-devel
途中必要となるパッケージのインストールを求められるので承認
Install 1 Package(s) Total download size: 641 k Installed size: 1.7 M Is this ok [y/N]: y
以下メッセージが表示されれば成功
Installed: ncurses-devel.x86_64 0:5.7-4.20090207.el6 Complete!
db4-develのインストール
[vagrant@localhost vagrant]$ sudo yum install db4-devel
途中必要となるパッケージのインストールを求められるので承認
Install 2 Package(s) Total download size: 7.1 M Installed size: 26 M Is this ok [y/N]: y
以下メッセージが表示されれば成功
Installed: db4-devel.x86_64 0:4.7.25-22.el6 Dependency Installed: db4-cxx.x86_64 0:4.7.25-22.el6 Complete!
■hello.cblを作成してコンパイル~実行
適当にハローワールドを出力するCOBOLプログラム(hello.cbl)を作成して先程のVagrantフォルダに格納しておく
[vagrant@localhost vagrant]$ cobc -x -std=cobol85 hello.cbl
正しくコンパイルされていればhelloファイルが出来上がる。
[vagrant@localhost vagrant]$ ls hello hello.cbl opensource-cobol-1.4.0J-1.el6.x86_64.rpm Vagrantfile
ただしこのままでは実行できない。
/etc/ld.so.conf.dの中にlibcob.so.1
の場所を記載したconfファイルを作成しておく必要がある。
libcob.so.1の場所を確認
[vagrant@localhost vagrant]$ sudo find / -name libcob.so.1 /usr/local/lib/libcob.so.1
viコマンドで先程確認した場所を記載したconfファイルを作成
[vagrant@localhost vagrant]$ sudo vi /etc/ld.so.conf.d/usr-local-lib.conf
catコマンドで作成したconfファイルの内容を確認
[vagrant@localhost vagrant]$ cat /etc/ld.so.conf.d/usr-local-lib.conf /usr/local/lib
ldconfigコマンドで設定を反映させる
[vagrant@localhost vagrant]$ sudo ldconfig
lddコマンドで確認するとlibcob.so.1のパスが通っているのが確認できる
[vagrant@localhost vagrant]$ ldd ./hello linux-vdso.so.1 => (0x00007ffccf0cf000) libcob.so.1 => /usr/local/lib/libcob.so.1 (0x00007f5d531a1000) libm.so.6 => /lib64/libm.so.6 (0x00007f5d52f1d000) libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007f5d52cc1000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f5d52a9f000) libdb-4.7.so => /lib64/libdb-4.7.so (0x00007f5d5272a000) libc.so.6 => /lib64/libc.so.6 (0x00007f5d52395000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f5d52191000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f5d51f70000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5d51d52000) /lib64/ld-linux-x86-64.so.2 (0x00007f5d533de000)
helloファイルを実行
[vagrant@localhost vagrant]$ ./hello HELLO, WORLD!
■参考サイト
ローカル開発環境構築(MySQL編)+Workbench接続
社内研修用に手持ちのPC端末上に仮想のローカル開発環境(VM)を構築し、そこにMySQLをインストールして、Workbenchから接続する方法を模索していたので、備忘録+参照用に記載しておきます。
■環境
使用PC:Windows10
構築する仮想マシン:Ubuntu16.04
■必要なソフトウェアのインストール
VirtualBox
Oracle VM VirtualBox - Downloads | Oracle Technology Network | OracleWorkbench
MySQL :: Download MySQL Workbench
WindowsでMySQL Workbenchをインストールして実行するには、以下のライブラリがインストールされている必要があります。
Microsoft .NET Framework 4.5
Download Microsoft .NET Framework 4.5 from Official Microsoft Download CenterVisual C++ Redistributable for Visual Studio 2015(Visual Studio 2015 の Visual C++ 再頒布可能パッケージ)
Download Visual Studio 2015 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Center
ライブラリがインストールされていれば、ページ下部に進みOSを選択してDownload
をクリック
以下の画面が表示されれば、No thanks, just start my download.
をクリック。ダウンロードされたインストーラの指示に従いインストールを行って下さい。
■ローカル開発環境(VM)の構築
今後仮想環境を複数作成する可能性を考慮して、仮想環境を括るディレクトリVagrant
をCドライブ直下に作成し、その下に今回作成する仮想環境のディレクトリmysql_ubuntu1604
を作成(名前はなんでもOK)
> mkdir C:\Vagrant\mysql_ubuntu1604
cdコマンドで移動
> cd C:\Vagrant\mysql_ubuntu1604
Vagrantfile の作成
> vagrant init bento/ubuntu-16.04
Vagrantfileの編集
作成されたVagrantfileをエディタで開き、35行目、以下の部分のコメントアウトを外す
config.vm.network "private_network", ip: "192.168.33.10"
VMの起動
> vagrant up
> vagrant ssh
■Ubuntuの日本語化
$ sudo apt-get -y install language-pack-ja-base language-pack-ja ibus-mozc
$ localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" // パスワードを入力
$ source /etc/default/locale
$ echo $LANG ja_JP.UTF-8
■Ubuntuの諸々アップデート
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean
sudo init 6 // 再起動
■MySQLインストール
sudo apt-get install mysql-server // rootのパスワード設定
■よく使うコマンド
MySQLバージョン確認
$ mysql --version mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
MySQLにrootユーザでログイン
$ mysql -u root -p // パスワードを入力
MySQLの状態確認
$ mysqladmin ping -u root -p Enter password: mysqld is alive
■Workbenchの設定
VagrantでSSH接続中であればexitしておく
Workbenchを起動したらAdd Connectionsをクリックして以下画像のように設定
■参考サイト
※日本語化はかかる手間と得られる恩恵が見合わない気がするのでやりませんでした。
Android Studio 2.0をインストール〜日本語化
4月8日、Android Studio 2.0が正式リリースされたとのことで、早速インストールしてみました。
環境
MacBook Proでも良かったのですが、すでにXcodeとEclipseが入っているので、今回はWindows10を導入したLaVie LL750/Lを使います。
LaVie LL750/LにWindows10を導入した記事はこちら↓
JDK(Java Development Kit)をインストール
JDK(Java実行環境)がインストールされていない場合、Android Studioをインストールする前に、先にJDKのインストールが必要です。
OracleのダウンロードページよりプラットフォームにあったJDKを選択しましょう。
Java SE Development Kit 8 - Downloads
私の場合は一番下のWindows x64版になります。Accept Licence Agreementにチェックを入れてクリックするとダウンロードできます。
ダウンロードが終わったら、パッケージを開いてインストーラの指示に従ってインストールを進めます。
JDKのインストールについては、下記記事がわかりやすくまとめてありとても参考になります。
環境変数の設定
ここが私のつまづきポイントでしたので少々くどめに書きます。
Macで以前インストールした時は何も考えずにどんどん進めても問題なかったように記憶しているのですが、Windowsの場合、この作業をしないと後でなんかうまくいかなくなります。よく見るとAndroid Studioをダウンロードした後に遷移するInstall Android Studioのページに書いてあるんですが、スルーしてしまっていました。
まずWindowsボタンを右クリックして出てくるメニューからシステムを選択、システムの詳細設定をクリックします。
詳細設定タブの環境変数をクリックします。
システム環境変数(またはユーザー環境変数)の新規をクリックします。
変数名にJAVA_HOME、変数値に先ほどインストールしたJDKのいる場所を指定します。特に自分で保存先を指定してない限りはProgram Files¥Javaの中にいるんじゃないかなと思います。
以上で環境変数の設定は終わりです。
2016.4.24追記:
特に理由がなければ、システム環境変数を選択するのが無難なようなので、一部修正しました。(下記記事参照)
Android Studioのインストール
下記のリンク先からAndroid Studioをダウンロードします。
Download Android Studio and SDK Tools | Android Developers
なお、記事執筆時は日本語のページだと旧バージョンのダウンロードページに飛んでしまうようです。DOWNLOAD ANDROID STUDIO 2.0と書かれていない場合は、ページ右下のドロップダウンリストからEnglishを選択してみて下さい。
ダウンロードが終わったら、インストーラの指示に従ってインストールを進めます。
JDKのインストールと環境変数が正しく設定されていればこちらも特につまづくポイントはないかと思います。カスタムしてインストールもできるよ〜とかなんか色々聞かれますが私の場合は次へ次へと進んでいくだけで大丈夫でした。
Hello Worldアプリを作る
Start a new Android Studio projectをクリックします。
Application nameとCompany Domainを入力します。とりあえずそのままでも大丈夫だと思いますが適当に名前をつけておきました。
Phone and Tabletにチェックが入っていることを確認します。Minimum SDKはとりあえず自分の持っている端末の環境に合わせてKitKatにしておきました。
Empty Activityが選択されていることを確認の上Nextをクリック。
で、Finishを押すとビルドやら何やらごにょごにょ始まります。かなり時間がかかるので気長に待ちましょう。
出ましたよー!Hello world!こちらこそ!
いやー、満足しました。w
日本語化について(追記あり)
version1.xの時のように日本語化できるかどうか試してみたのですが、残念ながらresources_jp.jarファイルをlib配下に置くやり方(下記記事参照)だとエラーが出てしまいうまくいきませんでした。
日本語化に成功した方がいらっしゃいましたら、ぜひ教えていただきたいです。
私も今後いじくってみて、もしできたらまたここに追記しようと思います。
2016.6.4 追記:
SushiSukiyakiSumoさんが、Andriod Studio 2.0に対応したresources_jp.jarファイルを公開されています。私の環境でも日本語化することができましたのでご紹介します。
Android Studio 2.0 を日本語化してみた | 寿司すき焼き相撲
わかりやすいYouTube動画もあります。感謝。
【Swift】NSUserDefaultsでデータを保存する
ゲーム製作の中でスコアのランキングをInt型の配列で作ったのですが、そのままではアプリを終了すると(当然ですが)消えてしまいます。再度アプリを立ち上げた時、前回のスコアランキングが保持されている仕様にしたく、例によってネットで色々と調べまわり、NSUserDefaultsを使ってデータを保存するという方法をとりました。また、その中で参考サイトのサンプルプログラム通りにプログラムしてもうまくいかなかった部分(特に下記手順4)は、エラーが出ず、期待した振る舞いをしてくれるところまでなんとか手探りで修正しました。
もっと良い書き方をご存知でしたら、是非教えて頂きたいです。
環境
手順
- 保存するデータをつくる。
var scores = [0,0,0,0,0,0]
※今回はInt型、6要素の配列としました。
- 利用するクラスの中でNSUserDefaultsのインスタンスをつくる。
let ud = NSUserDefaults.standardUserDefaults()
- データを書き込みたい場所に以下のコードを書く。
ud.setObject(scores, forKey: "scoresKey")
ud.synchronize() - データを読み込みたい場所に以下のコードを書く。
if ud.objectForKey("scoresKey") != nil {
scores = ud.objectForKey("scoresKey") as! [Int]
} - 保存されたデータを削除したい場所に以下のコードを書く。
ud.removeObjectForKey("scoresKey")
参考サイト
いつもありがとうございます。