Ubuntuのaptコマンドで404エラーとなる
MySQLをUbuntuにインストールしようとしたら、404エラーが発生したお話。
以下のコマンドで、MySQLをインストールしようとすると、大量の404エラーが(涙)
$sudo apt -install mysql-server mysql-client
このサイトで紹介されている方法を試してみる。
https://qiita.com/nyanchu/items/a8cfc5cf627d70d798bf
source.listファイルのURLを書き換え、実行すると以下のようなエラーが出てしまう。
で、結論、リポジトリが古かったことが原因でした。以下のコマンドで最新化したら、正常にダウンロードすることができた。
$sudo apt-get update
tomcatでのサーブレット公開について
今更だけど、Tomcatでサーブレットの公開方法について再学習したので、
メモ書きします。
①tomcat/webapps配下にアプリを置くこと。
で、それぞれフォルダを分ける。
②フォルダごとに、以下を作成する。(以下はwebappsから記載)
webapps
┠WEB-INF/
| ┠classes/
| | ┗classファイル
| ┗lib
┗web.xmlファイル
③web.xmlファイルには以下の記載が必要
<servlet>
<servlet-name>サーブレットの名前</servlet-name>
<servlet-class>サーブレットのクラス名(javaのクラス名)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>サーブレットの名前</servlet-name>
<url-path>公開するURL</url-path>
</servlet-mapping>
上記は、パッケージのないサーブレットのweb.xmlの記載方法。
パッケージがある場合だと、url-patarnタグにパッケージ名が必要となる。
上記のまとめではイマイチわからないので、以下参考サイト(まとめた意味とは。。。)
apache2のモジュールの読み込み方法
【環境】
apache2
windowsでモジュールの読み込みをした際は、httpd.confに以下を記載しました。
Include ~~~
ただ、UbuntuのApache2で同様にapache2.confに上記を記載してもダメでした。
どうやら、以下のコマンドで必要なモジュールを読み込まないといけない。
$sudo a2emod
mods-enabledファイルからファイルを直接移動すると、再起動できないので注意。
※ちなみに、モジュールファイルをコピペして、a2emodを使うと以下のエラーが出る。
ERROR: Config file proxy.conf not properly enabled: /etc/apache2/mods-enabled/proxy.conf is a real file, not touching it
このエラーは、mods-enabledファイルにproxy.confがある状態で、以下のコマンドを実行すると出てくる
$sudo a2emod proxy
で、話は戻るが、先ほどのコマンドを実行すると、mods-enabledファイルにモジュールが追加されることがlsコマンドで確認できるようになる。
以上、メモまでに。
>5/17追記
apache(ubuntu)のデフォルトページをよくよく読むと以下のことが書いてあった。
上記の意訳)
mods-enabled,conf-enabled,sites-enabledの構成フォルダはそれぞれ、モジュール、グローバル設定フラグメント、バーチャルホスト設定を含んでいる。とのこと。
グローバル設定フラグメントという翻訳(グーグル先生)がよくわからなかったけど、格納されているファイルを見たら.confのシンボリックリンクが入っていたので、設定ファイルのことらしい。
また、使い方についても簡単に記載があった(ここを読んでおけばよかったのね)
上記意訳)
それぞれ* -available /対応するものから利用可能な構成ファイルをシンボリックリンクすることによってアクティブ化される。a2enmod、a2dismod、a2ensite、a2dissite、およびa2enconf、a2disconfを使用して管理する。とのこと。
つまり、対応する* -availableにファイルを作って、それぞれのコマンドで*-enabledファイルにシンボリックリンクを作ることによって有効になる、って言ってる気がする。
ネットで調べるよりも、こういうドキュメントファイルが参考になったりするよね。
ApacheとTomcatとのポートフォワードについて
いつも通り、簡単にメモ程度のまとめです。
【環境】
windows10
Apache2.4
Tomcat8.5 (Eclipseのデバッグモードで起動)
【方法】
基本的に、以下の設定をいじる
①httpd.confに必要なモジュールの追加
②ポートフォワードするアドレスの設定
③Tomcatで8009ポートの開放
上記の設定方法の詳細は以下を参照。
http://sakusaku-techs.com/apache-tomcat/apche-connect/#ApacheTomcat
ちなみに、secretRequiredの設定が必要でした。
基本的には上記の方法でよかったのですが、
今回の業務システムではロードバランサーを使ってAPサーバーへの接続を調整していたので、以下のモジュールの読み込みも必要でした。
mod_lbmethod_byrequests.so
mod_proxy_balancer.so
mod_slotmem_shm.so
で、なんとかポートフォワードに成功して、
APサーバーにアクセスできるようになりました!
ただ、APサーバー上で500エラーが発生しているようなので、
これを解決していかないといけない。。。
ドキドキVue.js②
昨日の続きから。
今日やった内容は、以下。
まずは、データバインドから。
記載方法は以下。
<要素 v-model="プロパティ名">
このデータバインドというのは、コンポーネントの持つデータ(jsファイルのデータ)とフォームコントロールの入力値(画面)に対して双方向にバインドさせる。
要は、どちらかが変更されたら、もう一方も変更するよというもの。
①チェックボックス(複数)
→データが配列となる
--HTML--
<input type="checkbox" v-model="check">・・・
--
var app = new Vue({
el:"#app"
data:{
check:[] ←配列で受け取る
}
②セレクトボックス
→特に注意店はないが、一応記載する。
--HTML
<select v-model="sel"> <option value="a"></option></select>
--JS
var app = new Vue({
el:"#app"
data:{
sel:""
}
次にトランジション。
トランジションとは、アニメーションのようなものでゆっくり動作するようなもの。
HTMLに<transition>タグを用いる。
CSSには .v-enterなどを使用する。
最後にコンポーネントについて。
Vue.component{'コンポーネント名',{コンポーネントオプション}}
で定義する。
--HTML
<div id="app">
<test-tag></test-tag>
</div>
--コンポーネント.js(test-tag.js)
Vue.component{'testTag',
template : '<div>{{msg}}</div>'',
data:function{return {msg:"こんにちわ"}}
}
--js(コンポーネントを関連づける)
var app=new Vue({
el:"#app",
components:{
test-tag : "testTag"
}
})
以上。