カテゴリー別アーカイブ: 未分類

Ubuntu16 で、漢字入力を設定する

Ubuntu16 で、漢字入力を設定する

システム設定>言語サポート
を選択する

必要な言語パッケージがインストールされる

インストールされたた、

システム設定>テキスト入力
から、

日本語を選択し

ボタンで、削除する

ボタンで、追加を指定し
日本語(Mozc)(IBus)
を選択し、追加する
切り替えにカーソルを移動し、半角/全角
ボタンで、変換ボタンを指定する

矢印で、
日本語(Mozc)(IBus)
を、一番上にする

入力する場所で、変換ボタンを押して
入力が切り替えるのを見る(右上)
日本語変換になった時に
切り替えの表示を
クリックし、入力モードをひらがなにする

Ubuntu16 に、Chromeをインスツール

Ubuntu16 に、Chromeをインスツールします

https://www.google.co.jp/chrome/browser/desktop/

から、パッケージをダウンロードする

gdebiをダウンロードする

sudo apt -y install gdebi

ダウンロードしたフォルダーから

google-chrome-stable_current_amd64.deb
を、右クリックで、gdebiを選択して
インストールを行う

完了したら、左上のコンピュータ検索から
chrome
で検索する

ドラッグして、メニューに追加する

検索で表示されない場合には
端末から

google-chrome

で、一度、起動する

左上のコンピュータ検索から
chrome
で検索する

ドラッグして、メニューに追加する

CentOS 6.7にWordPressとレスポンシブルWebデザインテーマbizvektorを組み込んでみる

CentOS 6.7にWordPressとレスポンシブルWebデザインテーマbizvektorを組み込んでみる

CentOs に WordPressをインストールする

root権限になっていなければ、rootになる

$su
パスワード:
#

各種パッケージ
httpd mysql-server php php-mysql wget
をインストールする

yum -y install httpd mysql-server php php-mysql wget

apacheがインストールされたか確認

/etc/init.d/httpd status
httpd は停止しています

apacheを起動する

/etc/init.d/httpd start
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

localhostにアクセスする

curl 'http://localhost/'

firefoxで、アクセスしてみる

firefox localhost/

タイムゾーンの設定
PHPの設定ファイル(/etc/php.ini)を編集する。


vim /etc/php.ini

date.timezone =を検索(”/”は検索)

/date.timezone =

iで、挿入モードにして
#date.timezone =
date.timezone = “Asia/Tokyo”
に変更

; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
#date.timezone =
date.timezone = "Asia/Tokyo"

esc+:wq
で、上書き終了

apacheを再起動

/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

Webが起動し、PHPが走っているか確認する

cat <<EOF > /var/www/html/phpinfo.php
<?php
phpinfo();
?>
EOF

curl 'http://localhost/phpinfo.php'

firefoxで、アクセスしてみる

firefox localhost/phpinfo.php

mysqlがインストールされたか確認

/etc/init.d/mysqld status

mysqld は停止しています

mysqlを起動する

/etc/init.d/mysqld start

   :
mysqld を起動中:                                           [  OK  ]

パスワードを設定(rootにパスワードcentosと設定してみた)

mysql -u root

update mysql.user set password=password('centos') where user = 'root';
flush privileges;
exit;

設定したパスワードでログインできるかを確認します。

# mysql -u root -p
Enter password: 

exit;

データベース(wordpress)を作成
wordpressというユーザを作成し、パスワードをwordpress2016とする

# mysql -u root -p
Enter password: 
create database wordpress;
grant all privileges on wordpress.* to wordpress@localhost identified by 'wordpress2016';

WordPressをインストール
WordPressをダウンロードし
ファイルを解凍し、
Apacheが読み込めるようにする。

cd /tmp
wget http://ja.wordpress.org/wordpress-3.8.1-ja.tar.gz
tar zxvf wordpress-3.8.1-ja.tar.gz 
cp -r wordpress /var/www/
chown -R apache.apache /var/www/wordpress

apacheの設定を行う

vim /etc/httpd/conf/httpd.conf

DocumentRoot “/var/www/html
DocumentRoot “/var/www/wordpress”
に変更

DocumentRoot “/var/www/htmlを検索

/DocumentRoot "/var/www/html

DocumentRoot “/var/www/wordpress”
に変更

iで、挿入モードに入る

#DocumentRoot "/var/www/html"
DocumentRoot  "/var/www/wordpress "

次に、

<Directory "/var/www/html">

<Directory "/var/www/wordpress">

に変更
一度、ESCで、コマンドモードに戻り

/<Directory "/var/www/html">

で、検索
挿入モードiで、

#<Directory "/var/www/html">
<Directory "/var/www/wordpress">

に、修正
次に、

<Directory "/var/www/wordpress">

の中の

    AllowOverride None

を、

    AllowOverride All

に変更

#   AllowOverride None
    AllowOverride All

に変更

esc+:wq

を指定

apacheを再起動

/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

fierfoxで、アクセスする

firefox localhost/

データベース名:wordpress
ユーザ名:wordpress
パスワード:wordpress2016
データベースのホスト名:localhost
テーブル接頭辞:wp_

「インストール続行」
サイトのタイトル:タイトル
ユーザー名:admin
パスワード:admin_password
パスワード:admin_password
メールアドレス:xxx@yyy.zz
「WordPressをインストール」

成功しました !

「ログイン」

にて、開始画面へ

WordPress 4.5.3 が利用可能です ! 更新してください。

とのメッセージがあるため、
WordPress 4.5.3に更新する

WordPress の新しいバージョンがあります。
「今すぐ更新」
を押下

更新の後、ログイン画面に戻るので、
ログイン後、
プラグインを「今すぐ更新」を押下

次に、レスポンシブルWebデザインテーマbizvektorを組み込んでみる

BizVektor

HOME


のダウンロードページ

ダウンロード


から、
Download BizVektor ver 1.8.23
を、ダウンロード

外観>テーマ>新規追加
「データのアップロード」
により
先ほど、ダウンロードしたファイルを「参照」で
指定し、
「今すぐインストール」
を、押下

外観>テーマ
選択し、
ダウンロードしたテーマ「BizVektor」
を、有効にしてください。

BizVektor クイックスタート


に従い、
「プラグイン」→「新規追加」画面より、『お気に入り』画面を表示。
「wordpress.orgユーザー名」のフォームに「bizvektor」と入力して、必要なプラグインをインストール。

インストールした、プラグインを有効化します

プラグインを追加する
プラグインが、有効にならない場合、
必要なライブラィーを追加する

お使いの WP Multibyte Patch を有効化するには PHP の mbstring 関数が必要です。

yum -y install php-mbstring

apacheを再起動

/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

BizVektor クイックスタート


コンテンツデータのダウンロード・インポート
に従い、コンテンツデータを、インポートする

「ツール」→「インポート」→「WordPress」でダウンロードしたxmlファイルを選択し、「ファイルをアップロードしてインポート」

インストール時のエラーが分からないので、
エラー表示を有効にする

vim /etc/php.ini

display_errors = Off
変更前
display_errors = On
変更後

display_errors =を検索し

/display_errors = 

i挿入モードで

;display_errors = Off
display_errors = On

に変更
esc+:wqで上書き終了

apacheを再起動

/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

WordPress インポートできない時の対処方法
Fatal error: Class ‘DOMDocument’ not found

yum -y install php-xml

再度、apacheを再起動

/etc/init.d/httpd restart

httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

サンプルデータが表示できた・・・

apacheとmysqlを自動起動に設定する

現状の確認
apacheは

chkconfig --list | grep httpd

offになっている

httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off

自動起動(on)に設定

chkconfig httpd on

onになった

chkconfig --list | grep httpd
httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

mysqlの設定も

chkconfig --list | grep mysqld

offになっている

mysqld          	0:off	1:off	2:off	3:off	4:off	5:off	6:off

onにする

chkconfig mysqld on
chkconfig --list | grep mysqld
mysqld          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

一応chromeもインストールしておく

wget http://chrome.richardlloyd.org.uk/install_chrome.sh
bash ./install_chrome.sh

テーマ、記事などを、修正削除していて、
うまく行かなくなり、削除し、再インストーツする場合。

wordpressが残っている確認する

cd /tmp
ls wordpress

もし、なければ、再度、ダウンロード

cd /tmp
wget http://ja.wordpress.org/wordpress-3.8.1-ja.tar.gz
tar zxvf wordpress-3.8.1-ja.tar.gz 

コンテンツ側(/var/www/wordpress)を削除し、
再度、複写する

rm -rf /var/www/wordpress
cp -r wordpress /var/www/
chown -R apache.apache /var/www/wordpress

Webより、再度設定する

firefox localhost/

データベーステーブルの接頭辞は、
一応、wp1_に変えておく

エラー対策まとめ、

■プラグイン有効時(WP Multibyte Patch)でのエラー
[/html]
yum -y install php-mbstring
/etc/init.d/httpd restart
[/html]

■サンプルデータのインポート時に無反応

vim /etc/php.ini
にて、
display_errors = On
/etc/init.d/httpd restart

■サンプルデータのインポート時のエラー

yum -y install php-xml
/etc/init.d/httpd restart

■サンプルデータ読み込み時の、infoエラー

をインポートできませんでした。投稿タイプ info が有効ではありません。

テーマが、「BizVektor」に切り替わっていない
外観>テーマで、
「BizVektor」を有効化

VirtualBoxにCentOS6.8の環境を構築

VirtualBox CentOS6.8の構築の手順をまとめました

1,インストール用DVDのisoファイルをダウンロード
  ■ インストール用DVDファイルは何処にあり、どれが必要か?
  http://isoredirect.centos.org/centos/6/isos/x86_64/
にある
  CentOS-6.8-x86_64-bin-DVD1.iso
が、必要。

2,VirtualBoxに、セットする
  ■ 設定方法は?
  以下の手順を参考に
  https://blog.apar.jp/linux/402/

3,インストールする
  ■ インストールの設定は?
  以下を参考に
   http://win.just4fun.biz/%E4%BB%AE%E6%83%B3%E5%8C%96%E9%96%A2%E9%80%A3%E3%82%BD%E3%83%95%E3%83%88/VirtualBox%E3%81%A7CentOS6%E3%82%92%E5%8B%95%E3%81%8B%E3%81%9D%E3%81%86.html

4,Firfoxで、外部に接続する
  ■ 外部のネットにつながらない?、Firfoxが開かない
  以下を参考に
 http://kb.seeck.jp/archives/4552

5,GuestAddtionsをインストールして、マウスの操作をスムーズにする
  ■ マウスが、HostとGestで操作がしにくい
  Gest(仮想側)から、Hostへ戻すには「右側のCTRLキー」を押すことで、切り替わる
  ただし、操作が面倒、GuestAddtionsをインストールをGest(仮想側)にインストールする
  ことで、操作性が上がります(切り替えなしで可能に)
VirtalBoxのメニューから、「デバイス」>「Guest Additionsのインストール」
仮想端末から

 
su
cd /media
ls
cd DVDメディア
./VBoxLinuxAdditions.run
yum install kernel-devel-2.6.32-504.3.3.el6.i686
yum -y install kernel-devel
yum -y install gcc
./VBoxLinuxAdditions.run

  GuestAddtionsをインストールは下記を参考に
 http://www.maruweb.jp.net/wp/?p=1916

6,VirtualBoxでOS間のクリップボードを共有する方法
  ■ Gest(仮想側)と、Hostで、クリップボードを共有に(コピペを可能に)
GuestAddtionsをインストールをした後、設定で可能に、下記を参考に
 http://pc-karuma.net/virtualbox-clipboard-share/

7,起動時の、ネットワーク(eth0)の自動接続
  ■ 起動時のeth0の接続(CentOSの設定)
  /etc/sysconfig/network-scripts/ifcfg-eth0
  の
  ONBOOT=no
  を
  ONBOOT=yes
  に、変更

  立ち上げ後
  su
  vim /etc/sysconfig/network-scripts/ifcfg-eth0
  にて、変更(編集)

以上です。

仮想環境にて、
CentOS6.8を楽しんで下さい。

CentOS6.7にpassengre+sinatra

CentOS6.7にpassengre+sinatra
を、なるべく、一括でできるようにまとめてみました

必要なアプリをインストール

yum -y install git gcc gcc-c++ libcurl-devel httpd httpd-devel openssl-devel readline-devel zlib-devel
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"'>> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
mkdir ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git
rbenv install 2.2.5
rbenv shell 2.2.5
gem install bundler
cd
mkdir sina
cd sina
mkdir vendor
mkdir vendor/bundle
mkdir public
mkdir tmp
touch tmp/always_restart.txt
bundle init
echo 'gem "sinatra"' >> Gemfile
echo 'gem "passenger"' >> Gemfile
bundle install --path vendor/bundle
bundle exec passenger-install-apache2-module
・結果表示
Here's what you can expect from the installation process:
 
 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.
  :
  :
Press Enter to continue, or Ctrl-C to abort.

1を、選択
・結果表示
Use <space> to select.
If the menu doesn't display correctly, press '!'
 
 ‣ ⬢  Ruby
   ⬢  Python
   ⬡  Node.js
   ⬡  Meteor

entrで、進んで行く
bundle exec passenger-install-apache2-module --snippet >> /etc/httpd/conf/httpd.conf
echo "DocumentRoot /root/sina/public" >> /etc/httpd/conf/httpd.conf
echo "#coding: utf-8"    >app.rb
echo "require 'sinatra'" >>app.rb
echo "get '/' do"        >>app.rb
echo "'Hello World'"     >>app.rb
echo "end"               >>app.rb
echo "require File.expand_path(File.dirname(__FILE__)) + '/app'"  >config.ru
echo "run Sinatra::Application"                                   >>config.ru
/etc/rc.d/init.d/httpd restart
getenforce
Enforcing

setenforce 0 

getenforce
Permissive
curl 'http://localhost/'
chmod o+x "/root"

curl 'http://localhost/'
Hello World

■確認
いまく、いかない時には
以下の内容を確認してください。

path

cd
cd sina
pwd

・結果表示
/root/sina

ファイルの内容1

cd
cd sina
ls
・結果表示
Gemfile  Gemfile.lock  app.rb  config.ru  public  tmp  vendor

ファイルの内容2

ls tmp
・結果表示
always_restart.txt

appの内容

cat app.rb
・結果表示
#coding: utf-8
require 'sinatra'
get '/' do
'Hello World'
end

config.ruの内容

cat config.ru
・結果表示
require File.expand_path(File.dirname(__FILE__)) + '/app'
run Sinatra::Application

httpd.confの内容

cat /etc/httpd/conf/httpd.conf
・結果表示(終わりの行)
  :
#</VirtualHost>
DocumentRoot /root/sina/public
LoadModule passenger_module /root/sina/vendor/bundle/ruby/2.2.0/gems/passenger-5.0.28/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /root/sina/vendor/bundle/ruby/2.2.0/gems/passenger-5.0.28
  PassengerDefaultRuby /root/.rbenv/versions/2.2.5/bin/ruby
</IfModule>

SELinuxの内容

getenforce
・結果表示
Permissive

/rootの権限

ls /root -l
・結果表示
drwxr-xr-x. 6 root root  4096  6月 22 09:17 2016 sina

conohaのクラウド centOS 6.7に、sinatoraをインスツール

Ubuntu16でRubyを使ってみる

を、元に、centOS 6.7にsinatraをインスツールしてみた。

■gitのインストール
gitのインストールしているか確認

git --version
・結果表示
-bash: git: コマンドが見つかりません

gitのがないのでインストール

yum -y install git

git --version
・結果表示
git version 1.7.1

■benv のインストール

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"'>> ~/.bashrc

echo 'eval "$(rbenv init -)"' >> ~/.bashrc

シェルを再起動

source ~/.bashrc

インストールの確認

type rbenv
・結果表示
rbenv is a function
rbenv () 
{ 
    local command;
    command="$1";
    if [ "$#" -gt 0 ]; then
        shift;
    fi;
    case "$command" in 
        rehash | shell)
            eval "$(rbenv "sh-$command" "$@")"
        ;;
        *)
            command rbenv "$command" "$@"
        ;;
    esac
}

■ruby-build のインストール

mkdir ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

■ruby のインストール
インストール可能な、最新バージョンを確認

rbenv install -l

2.2.5をインストール

rbenv install 2.2.5

エラーになった

・結果表示
:
checking for gcc... no

gccがないので、の追加

yum -y install gcc

再度

rbenv install 2.2.5

エラーになった

・結果表示
:
Try running <code>yum install -y openssl-devel readline-devel zlib-devel</code> to fetch missing dependencies.

指示にしたが、追加

yum install -y openssl-devel readline-devel zlib-devel

再度

rbenv install 2.2.5

インストールできた

インストールした、Rubyのバージョンを確認

rbenv shell 2.2.5
ruby -v

ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-linux]

■bundler のインストール

rbenv shell 2.2.5
gem install bundler

■sinatra のインストール

プロジェクト用エリア(フォルダ:sina)を作成

cd
mkdir sina
cd sina

Gemfileを作成

bundle init

Gemfileにgem ‘sinatra’を追加

cat Gemfile
echo 'gem "sinatra"' >> Gemfile
cat Gemfile
mkdir vendor
mkdir vendor/bundle

bundle で、Gemfileを実行

bundle install --path vendor/bundle

■サンプルAPの作成
app.rbを作成

echo "#coding: utf-8"    >app.rb
echo "require 'sinatra'" >>app.rb
echo "get '/' do"        >>app.rb
echo "'Hello World'"     >>app.rb
echo "end"               >>app.rb

cat app.rb

■実行確認

bundle exec ruby app.rb

INFO  WEBrick::HTTPServer#start: pid=30947 port=4567

別の端末を開く

curl 'http://localhost:4567/'
・結果表示
Hello World

できた

■passengerで接続

■Gemでpassengerをインストール
Gemfileにgem ‘passenger’を追加

cd
cd sina

cat Gemfile
echo 'gem "passenger"' >> Gemfile
cat Gemfile

rbenv shell 2.2.5
bundle install

■passenger-install-apache2-moduleをインストール

bundle exec passenger-install-apache2-module
・結果表示
Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.
  :
  :
Press Enter to continue, or Ctrl-C to abort.

1を、選択

・結果表示
Use <space> to select.
If the menu doesn't display correctly, press '!'

 ‣ ⬢  Ruby
   ⬢  Python
   ⬡  Node.js
   ⬡  Meteor

entrで、進んで行く

エラーになるので、一度中断し
指摘された、不足のアプリケーションを追加

yum -y install gcc-c++ libcurl-devel httpd httpd-devel

再度

bundle exec passenger-install-apache2-module

インストールできた

apacheに設定を追加

bundle exec passenger-install-apache2-module --snippet >> /etc/httpd/conf/httpd.conf
echo "DocumentRoot /root/sina/public" >> /etc/httpd/conf/httpd.conf

アプリケーション設置用エリアを作成

mkdir /root/sina/public
mkdir /root/sina/tmp

config.ruを作成

echo "require File.expand_path(File.dirname(__FILE__)) + '/app'"  >/root/sina/config.ru
echo "run Sinatra::Application"                                   >>/root/sina/config.ru

アプリケーション修正時の自動リロードを指定

touch /root/sina/tmp/always_restart.txt

apacheの設定ファイルの整合性を確認

apachectl configtest

Syntax OKなので、起動してみる

・結果表示
httpd: apr_sockaddr_info_get() failed for 133-130-108-243
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK

apacheを起動

/etc/rc.d/init.d/httpd restart

動作を確認してみる

curl 'http://localhost/'
・結果表示
  :
<p>You don't have permission to access /
on this server.</p>
  :

権限がまずいとのこと
権限を変更

chmod o+x "/root"

再度を確認してみる

curl 'http://localhost/'
・結果表示
Hello World

うまくいった。。

Apacheー>Passengerー>Sinatra ができた。

Ubuntu16でvisualrubyをインストール

Ubuntuの環境で、GUIアプリケーションを
Rubyで開発するために
visualrubyをインストールしてみた

visualrubyは、フォームをGUIで、作成し、プログラムを開発するものです
VisualBaice,VisualStudioをイメージしてもらうといいでしょう

HP
http://visualruby.net

■ゼロベースからの手順をまとめる
1,Git のインストール
2.rbenv のインストール
3.ruby-build のインストール
4.ruby のインストール
5.bundler のインストール
6.visualruby のインストール
7.visualruby の起動、サンプル実行
8.glade のインストール
9.visualrubyからのglade起動設定
10.新規プログラム作成

1から5は
「Ubuntu16でRubyを使ってみる」

Ubuntu16でRubyを使ってみる


と、重複しますが、手順をわかりやすくするため
再度掲載しました

1.Git のインストール

sudo apt-get update
sudo apt-get install git

もし、
/var/lib/apt/lists/ をロックできません
/var/lib/apt/dpkg/ をロックできません
と、表示された場合は

sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/dpkg/lock

2.rbenv のインストール

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"'>> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

シェルを再起動

source ~/.bashrc

インストールの確認

type rbenv


「rbenv は関数です」と表示されればインストール完了

3.ruby-build のインストール

mkdir ~/.rbenv/plugins

cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

4.ruby のインストール
インストール可能な、最新バージョンを確認

rbenv install -l

2.2.5をインストール

rbenv install 2.2.5

エラーになった

:
Try running `apt-get install -y libssl-dev libreadline-dev zlib1g-dev

とのことなので、

sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

の、のち、再度

rbenv install 2.2.5

を、行う

インストールされたRubyのバージョンを確認

ruby -v

5.bundler のインストール

rbenv shell 2.2.5
gem install bundler

6.visualruby のインストール

プロジェクト用エリア(フォルダ:vruby)を作成

cd
mkdir vruby
cd vruby

Gemfileを作成

bundle init

vruby/Gemfile
という、ファイルが作成される
エディタで、Gemfileを開
gem ‘visualruby’を追加
する

source "https://rubygems.org"
gem 'visualruby'

# gemを入れるディレクトリを作成

mkdir vendor
mkdir vendor/bundle

bundle で、Gemfileを実行

bundle install --path vendor/bundle

7.visualruby の起動、サンプル実行
visualrubyを起動する

cd
cd vruby
rbenv shell 2.2.5
bundle exec vr

../example/all_widgets
を選択し「open」を、押下
メニューの「Run」を、押下し
アイアらしい
新しい画面が開く事を確認する
右上の✕、押下で終了
File>Quitで終了

8.glade のインストール
フォームをデザインするツールを「glade」をインスツールする
ブラウザで、
Ubuntu、パッケージサイトを開く

http://packages.ubuntu.com/ja/precise/glade-gtk2

から、glade-gtk2をダウンロード
amd64ならば
http://packages.ubuntu.com/ja/precise/amd64/glade-gtk2/download
から、ダウンロード
端末から、ダウンロードフォルダーに移動してインストール

cd
cd ダウンロード 
sudo dpkg -i glade-gtk2_3.8.0-0ubuntu4_amd64.deb

libgladeui-1-11がないと言われるので

sudo apt install libgladeui-1-11

リストにないといわれる場合(下記エラーが表示)

   :
   :
E: パッケージ 'libgladeui-1-11' はインストール候補ではありません

/etc/apt/sources.list
に、
deb http://us.archive.ubuntu.com/ubuntu vivid main universe
を、追加する

sources.listの編集は、root権限が必要
viの使用に慣れているなら
sudo cd /etc/apt/
sudo vi sources.list
で、先頭に
deb http://us.archive.ubuntu.com/ubuntu vivid main universe
を、追加

GUIで行うなら
sudo nautilus
で、root権限でnautilusを起動し
/etc/apt/sources.list
を、選択し、geditにて、開き
deb http://us.archive.ubuntu.com/ubuntu vivid main universe
を、追加し、上書き保存し、nautilusを終了

sudo apt-get update

もし、
/var/lib/apt/lists/ をロックできません
と、表示された場合は

sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/dpkg/lock

再度、インストール

sudo apt-get update
sudo apt install libgladeui-1-11
sudo dpkg -i glade-gtk2_3.8.0-0ubuntu4_amd64.deb

にて、インストールができればOK

アプリケーション検索で
glade
を検索
Glade3インターフェース・デザイナという内容で登録されていれば
起動確認する

9.visualrubyからのglade起動設定
visualrubyを起動する

cd
cd vruby
rbenv shell 2.2.5
bundle exec vr

サンプルの
../example/listview
を選択し「Open」を、押下

Tool>GlobalSetting
を、選択
GladeCommandLine:
を、
「glade-gtk2」
を、選択し、「Try」で起動を確認
起動したgladeを、閉じ
設定画面を「Save」で終了する

左の、メニューTreeの
binの▶をクリックし展開し
gladeの▶をクリックし展開し
SongListVeiwGui.gladeをダブルクリックする
gladeが起動する
右サイドツリービューをクリックし、展開していく
Window1>hbox1>vBox1>hbox2>label1
まで、開きlabel1を選択する
プロパティのラベルを一部変更してみる

<big>ListView・・・・
→
<big>ーーーListView・・・・

保存を押して(ファイル>保存)、gladeを終了する
VisualRuby側で
「Run」
で、起動した時、デザインの修正内容が
反映していることを確認する

10.新規プログラム作成

File>NewProjet
で、新しいプロジェクトを作成する
プロジェクト名を「test001」として
「Create」を押す

「Run」により、起動を確認する
「Hello World」
のボタンを、押すと、表示が変わることを
動作を確認する

開いた画面を閉じ、プログラムを終了する

gladeの▶をクリックし展開し
デザインを変更する

ボタンを追加する

デザインを保存し終了する

MyClass.rb
を、修正し保存する

def before_show()
 @button1 = "こんにちは"
 @button2 = "世界"
end	
def button1__clicked(*args)
 @builder["button1"].label = @builder["button1"].label == "Hello World" ? "Goodbye World" : "Hello World"
 @builder["button2"].label = @builder["button1"].label == "Hello World" ? "Goodbye World" : "Hello World"
end
def button2__clicked(*args)
 @builder["button1"].label = "その1"
 @builder["button2"].label = "その2"
end

保存し、
プログラムを起動し、動作を確認する

その他

エディットボックスの場合
名前はentry番号となり
初期値は

def before_show()
 @entry1 = "こんにちは 世界1"
 @entry2 = "こんにちは 世界2"
end	

エディットボックス変更のイベントは

def entry1__changed(*args)
 @builder["entry2"].text = @builder["entry1"].text
end	

こんな感じ
上記の場合、エディットボックスの1,2の
初期値をそれぞれ、 “こんにちは 世界1”,”こんにちは 世界2”
とし、
entry1を変更すると、entry2も同じ内容になる

■注意点
1,VisualRubyとGTD+のバージョンと、gladeのバージョンの相性に注意
   → glade-gtk2_xx
2,Ubuntu16でのアプリケーションのインスツール設定
   → サードパーティがインスツールできない
3,gladeの使い勝手
   → VisualC#などのUiとは異なり、Itemドラッグ移動(微調整)はできない
     指定した箱の中に設置
     コンテナで、設置できる枠を作り、その枠の中に、コントロールを入れる

(慣れると、これも便利かも)

■参考
http://visualruby.net/index.html
https://github.com/Beagle123/visualruby

MySQLの現存するテーブルからcreate table文を起こす

既存のデータベースから、テーブルを作成するCREATE TABLE文を取得には

mysqlのコマンドの中で

SHOW CREATE TABLE テーブル名

で、できる

テーブルを追加する場合、既存のテーブルのCREATE TABLE文を取得して
それを、参考にし、新しいテーブル用のCREATE TABLE文を作ると便利である

また、データベース全体のCREATE TABLE文を取得するには
コマンドプロンプトから

mysqldump -u ユーザ名 -p --no-data データベース名

で、
パスワードを入力し、表示されます
ファイルに出力する場合には

mysqldump -u ユーザ名 -p --no-data データベース名 >dump.sql

可能です

Ubuntu16でsinatraで、削除の機能を追加

項目の削除の機能を追加する

手順は

1,削除を行う行を指定する釦を設置する
2,削除を行う処理を追加する
3,動作を確認する

となります

1,削除を行う行を指定する釦を設置する
各行に釦を設置し、行を指定するIDを埋め込む
app.rb
に、釦のフォームを設置する

<form method="post" action="del">
 <td><input type="submit" value="削除"></td>
  <input type="hidden" name="id" value="<%= us.id %>">
  <input type="hidden" name="_method" value="delete">
 </form>

get ‘/’ do
を以下にする

get '/' do
@usrs = User.all
erb %{
<html>
<head>
  <meta charset="utf-8" />
  <title>Test</title>
</head>
<body>
  <table border>
    <tr>
      <th>名前</th>
      <th>メールアドレス</th>
    </tr>
    <% @usrs.each do |us| %>
    <tr>
      <td><%= us.id %></td>
      <td><%= us.username %></td>
      <td><%= us.mailaddres %></td>
 <form method="post" action="del">
 <td><input type="submit" value="削除"></td>
  <input type="hidden" name="id" value="<%= us.id %>">
  <input type="hidden" name="_method" value="delete">
 </form>
    </tr>
 <% end %>
<form method="post" action="new">
 <tr>
  <td><input type="submit" value="登録"></td>
  <td><input type="text" name="username"></td>
  <td><input type="text" name="mailaddres"></td>
 </tr>
</form>
</table>
</body>
</html>
}
end

で、起動し削除釦を押してみる

cd
cd sina
rbenv shell 2.2.5
bundle exec ruby app.rb

ブラウザ(Firfox)から
http://localhost:4567/

エラーとして

Try this:
delete '/del' do
  "Hello World"
end

と、表示される
delete ‘/del’ do
を追加する
2,削除を行う処理を追加する

delete '/del' do
  usrs = User.find(params[:id])
  usrs.destroy
  redirect '/'
end

修正内容を追加すると

#coding: utf-8
 
require 'active_record'
require 'mysql2'
require 'sinatra'
require 'sinatra/reloader'
 
# Import files for database
ActiveRecord::Base.configurations = YAML.load_file('database.yml')
ActiveRecord::Base.establish_connection(:development)
 
class User < ActiveRecord::Base
end
 
get '/' do
@usrs = User.all
erb %{
<html>
<head>
  <meta charset="utf-8" />
  <title>Test</title>
</head>
<body>
  <table border>
    <tr>
      <th>名前</th>
      <th>メールアドレス</th>
    </tr>
    <% @usrs.each do |us| %>
    <tr>
      <td><%= us.id %></td>
      <td><%= us.username %></td>
      <td><%= us.mailaddres %></td>
      <form method="post" action="del">
      <td><input type="submit" value="削除"></td>
       <input type="hidden" name="id" value="<%= us.id %>">
       <input type="hidden" name="_method" value="delete">
       </form>
    </tr>    
</tr>
    <% end %>
<form method="post" action="new">
 <tr>
  <td></td>
  <td><input type="text" name="username"></td>
  <td><input type="text" name="mailaddres"></td>
  <td><input type="submit" value="登録"></td>
 </tr>
</form>
</table>
</body>
</html>
}
end

post '/new' do
  usr = User.new
  usr.username = params[:username]
  usr.mailaddres = params[:mailaddres]
  usr.save
  redirect '/'
end

delete '/del' do
  usrs = User.find(params[:id])
  usrs.destroy
  redirect '/'
end

となりる

3,動作を確認する
app.rbを起動し

cd
cd sina
rbenv shell 2.2.5
bundle exec ruby app.rb

ブラウザ(Firfox)から
http://localhost:4567/
により、削除釦を押してみる

対象項目の削除ができた

参考
・Sinatra+ActiveRecord+SQLite3で,軽量なWeb-DB連携例

Ubuntu16でsinatraで、追加の機能を追加

前回のプログラムに

追加の機能を追加する
手順は

1,自動リロードの追加
2,追加項目入力用フォームの追加
3,テータ追加処理の追加
となりる

1,自動リロードの追加
開発効率向上のために自動リロードの追加する

sinatra-contrib
の追加(インストール)と

app.rbへの

require 'sinatra/reloader'

の追加となる

sina/Gemfile

gem 'sinatra-contrib'

を追加し
bundleにて、インストール

cd
cd sina
rbenv shell 2.2.5
bundle install --path vendor/bundle

app.rbを修正

require 'sinatra/reloader'

を追加

実行
bundle exec ruby app.rb
ブラウザ(Firfox)から
http://localhost:4567/

ブラウザ、起動後
app.rb
を修正し、ブラウザ、再表示で、変更されることを確認

2,追加項目入力用フォームの追加
追加のフォームを追加する


追加したものは

#coding: utf-8
 
require 'active_record'
require 'mysql2'
require 'sinatra'
require 'sinatra/reloader'
 
# Import files for database
ActiveRecord::Base.configurations = YAML.load_file('database.yml')
ActiveRecord::Base.establish_connection(:development)
 
class User < ActiveRecord::Base
end
 
get '/' do
@usrs = User.all
erb %{
<html>
<head>
  <meta charset="utf-8" />
  <title>Test</title>
</head>
<body>
  <table border>
    <tr>
      <th>名前</th>
      <th>メールアドレス</th>
    </tr>
    <% @usrs.each do |us| %>
    <tr>
      <td><%= us.id %></td>
      <td><%= us.username %></td>
      <td><%= us.mailaddres %></td>
    </tr>
    <% end %>
<form method="post" action="new">
 <tr>
  <td><input type="submit" value="登録"></td>
  <td><input type="text" name="username"></td>
  <td><input type="text" name="mailaddres"></td>
 </tr>
</form>
</table>
</body>
</html>
}
end

再表示して、変更を確認する

登録ボタンを押して見る

エラー画面になる
データの追加処理
post ‘/new’
を、追加する

3,テータ追加処理の追加
app.rb
に、

post '/new' do
  usr = User.new
  usr.username = params[:username]
  usr.mailaddres = params[:mailaddres]
  usr.save
  redirect '/'
end

を追加

行が追加されることを確認してみる

Mysql2::Error: Field 'created_at' doesn't have a default value: INSERT INTO <code>users</code> (<code>username</code>, <code>mailaddres</code>, <code>updated_at</code>) VALUES ('kon', 'kon@xxx.com', '2016-05-09 05:11:22')

エラーになる
updated_atは作ってくれるが
created_atは作ってくれないようである

DB側で、自動で、作成するように変更

ALTER TABLE users CHANGE created_at created_at datetime NOT NULL default current_timestamp;

mysqlのバージョンによる依存性の可能性があるため、確認

mysql --version
mysql  Ver 14.14 Distrib 5.7.12, for Linux (x86_64) using  EditLine wrapper

5.7.12
の場合、うまく行った

参考
・【Ruby】Sinatraで、速攻でWebサイトを公開するための環境構築
・Sinatra+ActiveRecord+SQLite3で,軽量なWeb-DB連携例
・MySQL5.6で作成日時と更新日時を自動で設定してみるAdd Star