2013年7月23日火曜日

Vmware Toolsがインストールできない。

このエラーがでたけど、VMplayer自身をスーパユーザで動かしたら解決した。


# vmpaler










ここからもVmware Toolsがダウンロードできた。
http://softwareupdate.vmware.com/cds/vmw-desktop/play







2013年7月22日月曜日

CenOSにもtomcatをいれてみた。

まず CentOSをインストール。
CentOS-6.4-x86_64-bin-DVD1.iso をダウンロードしてインストール。

次に日本語化

# yum groupinstall "Japanese Support"

# vi /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
 

再起動して、古い名前のままを指定。

(1) JAVAのインストール

http://www.oracle.com/technetwork/java/javase/downloads/index.html

ここから JREをダウンロード(jre-7u25-linux-x64.rpm)





ここから tomcatをダウンロード(apache-tomcat-7.0.42.tar.gz)


useradd -s /sbin/nologin tomcat

tar xvzf apache-tomcat-7.0.42.tar.gz
mv apache-tomcat-7.0.42 /usr/local
chown tomcat:tomcat -R apache-tomcat-7.0.42
ln -s apache-tomcat-7.0.42 tomcat


vi /usr/local/tomcat/bin/startup.sh /usr/local/tomcat/bin/shutdown.sh

次を追加。(先頭に追加)

JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME


vi /usr/local/tomcat/conf/tomcat-users.xml

<user username="takahab" password="xxxxxxx" roles="admin-gui,manager-gui"/>


vi  /etc/init.d/tomcat

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL











chmod a+x /etc/init.d/tomcat

/sbin/chkconfig --add tomcat

/etc/init.d/tomcat start

chkconfig httpd on
chkconfig tomcat on
chkconfig --list







(3) Tomcat コネクタの設定

vi /usr/local/tomcat/conf/server.xml

【8080ポート無効】

<!-- <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    by takahab -->

【8009ポート有効】

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 


【tomcatに渡すロケーションを設定】
# vi /etc/httpd/conf/httpd.conf
 
ーーーファイルの最後に追加

# by takahab
Include /etc/httpd/conf/extra/httpd-proxy.conf
 



vi /etc/httpd/conf/extra/httpd-proxy.conf      ------新規ファイル作成

<Location / >
ProxyPass ajp://localhost:8009/ 
</Location>


※servlet以下であれば、<Location /servlet > 上記はルート

マップするディレクトリが異なる時。

<Location /servlet/>
        ProxyPass ajp://localhost:8009/ keepalive=on
        ProxyPassReverse ajp://localhost:8009/
        ProxyPassReverseCookiePath / /servlet/
</Location>

 
 






【ついでに!!】

# yum -y install vsftpd
# /etc/init.d/vsftpd start
# chkconfig vsftpd on

# yum -y install ftp
# yum -y install telnet-server
# yum -y install telnet


# 192.1.168.1.*を許可
# vi /etc/hosts.allows
in.telnetd : localhost  127.0.0.1 192.168.1.


# vi /etc/sysconfig/iptables
 # Generated by iptables-save v1.4.7 on Tue Oct  1 11:33:21 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [69:7864]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 23 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Oct  1 11:33:21 2013

# service iptables restart
# iptables -L  で確認。


SElinuxを一時的に無効。
# setenforce 0
# sestatus
# getsebool -a


#FTPパッシブモードを設定




#vi /etc/sysconfig/iptables-config

IPTABLES_MODULES=”ip_conntrack_ftp ip_nat_ftp”

#vi /etc/vsftpd/vsftpd.conf



































#パッシブモードを利用にする
pasv_promiscuous=YES
#パッシブモード利用時のポート範囲(例:50000~50030)
pasv_min_port=50000
pasv_max_port=50030












2013年7月19日金曜日

CentOS7 samba 設定

■samba インストール
# yum install samba samba-client samba-common

# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl restart smb.service
# systemctl restart nmb.service

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload
# chcon -t samba_share_t /home/takahab/Common -R

# vi /etc/samba/smb.conf

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = WORKGROUP
security = user
guest account = nobody
map to guest = Bad User
wide links = yes
unix extensions =no

passdb backend = tdbsam
printing = cupsprintcap name = cups
load printers = yes
cups options = raw
[share]
comment = common
path = /home/takahab/Common
public = yes
guest ok = yes
browseable = yes
writable = yes
printable = no


[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775

# testparm -v

■samba でシンボリックリンクがアクセスできない。
グローバルセクションに下記を追加したら動いた。
[global]
wide links = yes
unix extensions =no

EUCのファイル名がみえない。 ーーーーこれは便利

apt-get install convmv

/usr/local/bin/convmv -r -f euc-jp -t utf8 [シェアディレクトリ] --notest

2013年7月11日木曜日

Servletを使ったサンプルを動かしてみた。

・ ファイル→新規→動的Webプロジェクト
   プロジェクト名: tomcat_sample
   web.xmlデブロイメント記述の生成



【Formsample.jsp】
・WebContent→新規→JSPファイル
 bodyに下記を記述。

<p>会員登録</p>

<form action="/tomcat_sample/RequestSample1" method="get">

<table>
<tr>
<td>氏名</td>
<td><input type="text" size="20" value="" name="name"></td>
</tr>

<tr>
<td>年齢</td>
<td><input type="text" size="7" value="" name="old"></td>
</tr>

<tr>
<td>性別</td>
<td>
<select name="sex" size="2" multiple>
<option value="male">男性</option>
<option value="female">女性</option>
</select>
</td>
</tr>

</table>
<input type="submit" name="button1" value="送信">
</form>


【RequestSample1.java】
・WebContent→新規→その他→サーブレット

Package:     com.example.servlets
Class:           RequestSample1      

・doGet()に下記を記述。


response.setContentType("text/html;charset=UTF-8");
   PrintWriter out = response.getWriter();

   String name = request.getParameter("name");

   int old;
   String tmp = request.getParameter("old");
   if (tmp == null || tmp.length() == 0){
     old = -1;
   }else{
     try{
       old = Integer.parseInt(tmp);
     }catch (NumberFormatException e){
       old = -1;
     }
   }

   String sex[] = request.getParameterValues("sex");

   StringBuffer sb = new StringBuffer();

   sb.append("<html>");
   sb.append("<head>");
   sb.append("<title>サンプル</title>");
   sb.append("</head>");
   sb.append("<body>");

   sb.append("<p>お名前は ");
   sb.append(name);
   sb.append(" です</p>");

   sb.append("<p>年齢は ");
   if (old == -1){
     sb.append("未設定です</p>");
   }else{
     sb.append(old);
     sb.append(" です</p>");
   }

   sb.append("<p>性別は ");
   if (sex != null){
     for (int i = 0 ; i < sex.length ; i++){
       sb.append(sex[i]);
       sb.append(" ");
     }

     sb.append(" です</p>");
   }else{
     sb.append("選択されていません</p>");
   }

   sb.append("</body>");
   sb.append("</html>");

   out.println(new String(sb));

   out.close();



【web.xml】
・下記を追加。

 <servlet>
    <servlet-name>RequestSample1</servlet-name>
    <servlet-class>com.example.servlets.RequestSample1</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>RequestSample1</servlet-name>
    <url-pattern>/RequestSample1</url-pattern>
  </servlet-mapping>





































2013年7月10日水曜日

apacheをインストール

sudo apt-get install apache2


suddo service apache2 stop

sudo service apache2 start


/var/www/index.html




コネクタのインストール
apt-get install libapache2-mod-jk2

2013年7月9日火曜日

eclipseでtomcatアプリを作成してみた。

(1) ファイル→新規→動的Webプロジェクト
(2) webContent→新規→JSPファイルにindex.jspを作成する。

   【index.jsp】
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"         "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% java.util.Date d = new java.util.Date(); %>
<h1>
Today's date is <%= d.toString() %> and this jsp page worked!
</h1>

</body>
</html>

(3)  Java Resources→srcで右クリック: 新規→サーブレット
    Java パッケージ名: com.example.servlets
       クラス名:     HelloServlet

       【HelloServlet.java】

package com.example.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().write("Hello, world!");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

}


【web.xml】
<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.example.servlets.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

を追加。

http://localhost:8080/tomcat_sample/hello

で表示されるはずだが?


 http://www.atmarkit.co.jp/ait/articles/1104/12/news134.html
 http://www.atmarkit.co.jp/ait/articles/0301/09/news001.html

mysqlを触ってみた。

【ユーザ登録】

select host,user from mysql.user;
delete from mysql.user where user='takahab';
select host,user from mysql.user;

grant insert,select  on *.* to takahab@localhost identified by 'himitsu';
select host,user from mysql.user;

delete from mysql.user where user='takahab';
grant all privileges on *.* to takahab@localhost identified by 'himitsu' with grant option;

select host,user from mysql.user;

※参考
すべてのホスト(%)
grant all privileges on *.* to takahab@% identified by 'himitsu' with grant option;
ホストを制限
grant all privileges on *.* to takahab@'172.16.0.0/255.255.255.0' identified by 'himitsu' with grant option;


【テストDBを作る】

$mysql -u root -p

drop   database test;
create database test;
use test;
create table customer(
num     integer not null,
name    varchar(20) not null,
addr    varchar(20) not null,
constraint pk_customer primary key (num)
);

insert into customer (num, name, addr) values (1, 'aaaaaaaa', '090-0123-4001');
insert into customer (num, name, addr) values (2, 'bbbbbbbb', '090-0123-4002');
insert into customer (num, name, addr) values (3, 'cccccccc', '090-0123-4003');


select * from customer;


【テストアプリを作る】


import java.sql.*;
class DbTest {
        public  static void main(String[] args) {
        int     id;
        String  name;
                try {
                        // JDBCドライバの登録
                        String driver   = "com.mysql.jdbc.Driver";
                        // データベースの指定
                        String server   = "localhost";  // MySQLサーバ ( IP または ホスト名 )
                        String dbname   = "test";       // データベース名
                        // String url   = "jdbc:mysql://" + server + "/" + dbname + "?useUnicode=true&characterEncoding=EUC_JP";
                        String url      = "jdbc:mysql://" + server + "/" + dbname;
                        String user     = "takahab";    // データベース作成ユーザ名
                        String password = "himitsu";    // データベース作成ユーザパスワード
                        Class.forName (driver);

                        // データベース接続

                        System.out.println( url );

                        Connection con  = DriverManager.getConnection(url, user, password);

                        // テーブル照会
                        Statement stmt  = con.createStatement ();
                        String sql      = "SELECT * FROM test.customer";
                        ResultSet rs    = stmt.executeQuery (sql);

                        // テーブル出力
                        while(rs.next()){
                                id      = rs.getInt("num");
                                name    = rs.getString("name");

                                System.out.println("ID:" + id);
                                System.out.println("名前:" + name);
                        }
                        // データベースクローズ
                        rs.close();
                        stmt.close();
                        con.close();
                } catch (SQLException e) {
                        System.err.println("SQL failed.");
                        e.printStackTrace ();
                } catch (ClassNotFoundException ex) {
                        ex.printStackTrace ();
                }
        }
}

【環境】
mysqlをダウンロード
http://dev.mysql.com/downloads/connector/j/

cd ~/sample
mkdir lib
cd lib
ln -s ../mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar mysql-connector-java-5.1.25.jar
ln -s ../mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar mysql-connector-java.jar
ln -s ../mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar mysql.jar

cd ..
javac DbTest.java
java  -cp ./lib/mysql.jar:.   DbTest






2013年7月8日月曜日

Mysqlをインストールしてみた。

apt-get install mysql-server

apt-get install mysql-cliant

apt-get install libmysql-java

sudo mysq
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 5.5.31-0ubuntu0.13.04.1 (Ubuntu)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql>

mySQLの再起動
sudo /etc/init.d/mysql restart



※テストDBを作ってみる。

drop   database test;
create database test;
use test;
CREATE TABLE 顧客マスタ (
顧客ID  INTEGER NOT NULL,
顧客名  VARCHAR(20) NOT NULL,
連絡先  VARCHAR(20) NOT NULL,
CONSTRAINT pk_kokyaku PRIMARY KEY (顧客ID)
);

INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (1, 'aaaaaaaa', '090-0123-4001');
INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (2, 'bbbbbbbb', '090-0123-4002');
INSERT INTO 顧客マスタ (顧客ID, 顧客名, 連絡先) VALUES (3, 'cccccccc', '090-0123-4003');


select * from 顧客マスタ;

mysql>


※内蔵サンプルをみる。

 mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)




※CentOSにもインストールしてみた。

# yum -y install mysql-server

# /etc/init.d/mysqld start
# chkconfig mysqld on
# chkconfig --list mysqld

eclipseをvi風に使う。

ヘルプ→新規ソフトウェアのインストール

Vrapper - http://vrapper.sourceforge.net/update-site/stable

ウィンドウ→設定→一般→キー

スキーム  Vim's key bindings



こりゃ便利だ、感激!!!!



tamcat7とjenkinsのポートを変更。

eclipseと同居させる為にポートを変更した。


vi /etc/tomcat/server.xml

 <!-- Define a non-SSL HTTP/1.1 Connector on port 8081 by takahab -->
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               URIEncoding="UTF-8"
               redirectPort="8443" />

<!-- <Server port="8005" shutdown="SHUTDOWN"> change 8005 to 8006 by takahab -->
<Server port="8006" shutdown="SHUTDOWN">



vi /etc/dafault/jenkins

# port for HTTP connector (default 8080; disable with -1)
# change port 8080 to 8081 by takahab
HTTP_PORT=8081

2013年7月5日金曜日

ubuntu にtomcat7 を入れてみた。

sudo apt-get install tomcat7
sudo apt-get install tomcat7-docs
apt-get install tomcat7-examples
apt-get install tomcat7-admin


vi /etc/tomcat7/tomcat-users.xml

<tomcat-users>
  <role rolename="takahab"/>
  <user username="takahab" password="xxxxxxxx" roles="manager-gui"/>
</tomcat-users>

http://localhost:8080

ROOT:/var/lib/tomcat7/webapps/ROOT


万歳!!


ついでに

apt-get insatall jenkins
ln -s /usr/share/jenkins/jenkins.war   /var/lib/tomcat7/webapps/jenkins.war



vi /var/lib/tomcat7/webapps/jenkins/WEB-INF/web.xml

  <env-entry>
    <env-entry-name>JENKINS_HOME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/var/lib/tomcat7/webapps/jenkins</env-entry-value>
  </env-entry>

ubunut 64ビット環境でAVDが起動できない。

AVDどうも32ビットでコンパイルされているらしい。

sudo apt-get install ia32-libs

で解決。

eclipseを最新にしたらAndroid SDKとAVDマネージャが消えた。

ウインドウ→パースペクティブのカスタマイズ→コマンド・グループ可用性を選択して、

Android SDKおよびAVDマネージャーをON

2013年7月4日木曜日

ubuntu 13.04にソフト更新したらVmplayerが動かなくなった。

ソフト更新したら、カーネルコンパイルが必要とでるが、installをクリックしてもコンパイルされない。

$ uname -r
3.8.0-26-generic
$ sudo ln -s /usr/src/linux-headers-3.8.0-26-generic/include/generated/uapi/linux/version.h /usr/src/linux-headers-3.8.0-26-generic/include/linux/version.h
$ sudo vmware-modconfig --console --install-all


で解決。

2013年7月2日火曜日

wireshark root 起動でエラーがでる。

Lua:Error during loading:[string "/usr/share/wireshark/init.lua":45:dofile as been disaled


sudo chgrp adm /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcat cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap

ubuntu13.04をインストールしたところgrubがインストールされなかった。

13.04インストールディスクで立ち上げて、

$ sudo mount /dev/sda3 /mnt

$ sudo grub-install --root-directory=/mnt /dev/sda
$ sudo umount /mnt

シャットダウン時の後処理 (shutdown)

# vi /etc/systemd/system/drop.service [Unit] Description= stop httpgwd DefaultDependencies=no Before=shutdown.target RefuseManualStart=true ...