Webに高機能な書式付入力を可能にする TinyMCEエディタを設置してみる

WordPressの時はTinyMCEのプラグインを入れれば何も気にすることがなくざくざく便利なエディタができると思うのですが、HTMLでカスタマイズして構築しているものはそうもいかないので導入の仕方から設定などメモ的なものを残していきます。

 

なぜ、TinyMCEかというと他のツールもありますがTinyMCEの方が便利なので・・。

 

■設置の仕方 (https://www.tinymce.com

(1)コードを張り付けるだけ

<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>

 

textareaの対してエディタが適用される。

mce1

 

(2)ダウンロードファイルを読み込ませる

<script src="TINYMCEを保存したフォルダ/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>

※図は同じになるので省略

 

name=xxxxに対しての場合

<script src="TINYMCEを保存したフォルダ/tinymce.min.js"></script>
<script>tinymce.init({ selector:'[name="xxxxx"]' });</script>

 

 

 

■日本語化にする

やっぱり英語は苦手です。日本語にします。

(1)下記のURLから日本語をダウンロードする

https://www.tinymce.com/download/language-packages/

 

(2)TinyMCEのlangsのフォルダの中にダウンロード後に展開したja.jsファイルを入れる

 

(3)読み込みの設定を修正する

<script src="TINYMCEを保存したフォルダ/tinymce.min.js"></script>
<script>tinymce.init({ selector:'[name="xxxxx"]',language: "ja" });</script>

↓のように日本語になる

mce2

■ツールバーのボタンを変更する

ボタンの表示非表示の設定は下記のURLを参考にボタンを調べてください。

https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols

 

・テーブルを入れてみた

        <script>
            tinymce.init({ 
                selector:'[name="xxxx"]',
                language: "ja",
                plugins: "table",
                menubar: "table",
                toolbar: "table"                
            });
        </script>

 

あ、テーブルだけになってしまった。上記を見ての通り、プラグインを追記しないと動かないものやメニューやツールバーが変わってしまうので使うものを選択していきましょう。

mce3

 

さてどこまでやるかな・・・・。

 

        <script>
            tinymce.init({ 
                selector:'[name="xxxxxxx"]',
                language: "ja",
                height: 600, 
                plugins: "table link hr code image media",
                menubar: false,
                toolbar: "code | undo redo | bold italic underline | alignleft aligncenter alignright | formatselect fontselect fontsizeselect | hr | link unlink | table | image | media"
            });
        </script>

 

↓こんな感じにしてみた

mce4

あ、テキストカラーが無かった。pluginsに「textcolor」、toolbarに「forecolor backcolor」追加した。

 

 

■画像の問題

やっぱり、イメージをWordPressみたいにアップしてやりたいな。。。

っていうことで、有料のプラグインを試してみるか・・・。

↓このあたりとか

https://codecanyon.net/item/tinymce-4-image-manager/4744204

 

うーん、フレームワーク使っているしそのままだとNGだな・・・改造改造・・・。

あれ、あれこれ改良しまくったら原型があまりにもなくなってしまった・・・。

■画像のURLの問題

いざ、画像を挿入!ってやったら相対パスになっていた。

この問題は

「relative_urls : false,」を追加することにより絶対パスで記述

        <script>
            tinymce.init({ 
                selector:'[name="xxxxxxx"]',
                language: "ja",
                height: 600, 
                plugins: "table link hr code image media",
                menubar: false,
        relative_urls : false,
                toolbar: "code | undo redo | bold italic underline | alignleft aligncenter alignright | formatselect fontselect fontsizeselect | hr | link unlink | table | image | media"
            });
        </script>

さくらインターネットのVPSサーバーをOS丸ごとVMWAREにリストアしてみた

いくつかさくらインターネットのVPSを利用して運用しております。

中にはもう不要だよっていうものも世代交代で出てきているのですがやっぱり消したくないな、でもVPSでいつまでも料金発生していても勿体ないしってなことでしばらく放置していたマシンを契約が切れる前にVMwareに移行させてみたいと思います。

今回は「Mondo Rescue」というツールを使ってみたいと思います。

 

ツール紹介

http://www.mondorescue.org/

http://www.mondorescue.org/ftp/

バックアップするOSによって追加のリポジトリが異なるので注意。

 

Centos6にインストールの場合

リポジトリ情報をダウンロード→インストール

■Centos6の場合

# cd /etc/yum.repos.d
# wget http://www.mondorescue.org/ftp/rhel/6/x86_64/mondorescue.repo
# yum install mondo

 

■Centos7の場合

# cd /etc/yum.repos.d
# wget http://www.mondorescue.org/ftp/rhel/7/x86_64/mondorescue.repo
# yum install mondo

 

 

バックアップの準備

1.バックアップ先のフォルダを作る

# mkdir /home/backup

 

バックアップをする

シングルモードでバックアップ。

# init 1
# mondoarchive -O -i -N -d /home/backup_img -E '/home/backup_img' -s 4480m

 

オプション(一部)

オプション 説明
-i ISOファイルをバックアップメディアとして使用
-O ISOファイルを出力
-p 出力するISOファイル名を指定
-d 除外するディレクトリを指定。

自動で(/mnt/floppy, /mnt/cdrom, /proc, /sys, /run, /tmp)は除外

-s 出力するISOファイルサイズを指定(例:4480m)

 

エラー

Centos7で実行したときに発生したエラー

Mindi failed to create your boot+data disks.
Fatal error... Failed to generate boot+data disks
---FATALERROR--- Failed to generate boot+data disks
If you require technical support, please contact the mailing list.
See http://www.mondorescue.org for details.
The list's members can help you, if you attach that file to your e-mail.
Log file: /var/log/mondoarchive.log
Mondo has aborted.
rm: cannot remove '/tmp/mondo.tmp.VnGJF3/mountpoint.20849': Device or resource busy
Execution run ended; result=254

どうもmidiのスペースが小さいとかで

# vi /etc/mindi/mindi.conf

EXTRA_SPACE=240000
BOOT_SIZE=40960

 

 

バックアップしたファイルを取得

SCPなどでファイルをダウンロードします。

 

仮想マシン上で復元

バックアップしたISOファイルをマウントしていざ起動!!

バックアップしたファイルの1番目のファイルから起動します。

 

boot:と出たらエンターキーを押します。

Automaticallyだとエラーになるので「Interactively」を選択。

backup

 

CD-Rを選択

backup2

 

バックアップ元で下記を確認しておく。

[root@~]# df -H
Filesystem             Size   Used  Avail Use% Mounted on
/dev/vda3              209G   127G    72G  64% /
tmpfs                  1.1G   4.1k   1.1G   1% /dev/shm
/dev/vda1              263M    56M   195M  23% /boot

リストア先のドライブレターと容量を合わせる。容量がかなりいい加減なので自分で設定する。(ドライブレターだけ直すでもOK)

例:/dev/vda3 →/dev/sda3

 

警告が表示されるけどYESで。

backup3

「Do you want me torestore all of your data?]は「YES」を押す。

 

ROMを交換しながら、リストアを実行していく。

 

「Initialize the boot loader ?」っとメッセージが表示されたら「Yes」を押す。

backup21

 

アラートが表示された場合は「Yes」を押す。

backup22

コマンド入力が可能になったら下記のように行う。

# cd /boot
# mkinitrd -f -v initrd-2.x.y.img 2.x.y

例:
mkinitrd -f -v initrd-2.6.32-220.13.1.el6.x86_64.img 2.6.32-220.13.1.el6.x86_64

# exit

 

「Did you change the mountlist or cloned the system ?」とメッセージが表示され「Yes」を押す。

backup23

 

「/dev/vda」→「/dev/sda」に変更。その後も同じようにレターを変更。

※NANOエディタが起動するので「CTRL」+「コマンドキー」を押して処理をする。

 

コマンドプロンプトに戻ったら再起動をする。

ログインプロンプトが表示されるまで待ちます。

backup24

 

ネットワークアダプタの変更をする

# ifconfig -a

ここで表示されたeth?に合わせて設定をする

# cd /etc/sysconfig/network-scripts
# vi ifcfg-eth3
# /etc/init.d/network restart

 

ファイアウォールがある場合は停止やルール変更をする

 

これで利用可能になるはず。イメージでVPSからリストアできるって便利だな。

やっぱり、有料のバックアップソフトのほうが簡単でリストアも便利?

 

 

gmailでグループを作ってメールを送ったらエラーになった

GMAILって便利なので企業ドメインで利用もしてます。

でも、INFO宛てとはグループを作って内部で転送してたりするのですがそんなときにエラーになるよーって

いわれることもあったので調べてみました。

 

■エラーってこんな文章がついていた。

Technical details of permanent failure:
Your email to group info@xxxxxxxxx was rejected due to spam classification. To address this issue:

 

* Contact the owner of the group, who can choose to enable message moderation instead of bouncing these emails.
* Set up SPF records for your sending domain if you have not done so already.

Instructions for both steps can be found here: https://support.google.com/a/answer/168383.

 

 

でよくわからないのでリンクのヘルプを読んでみた。

 

なになに、一括送信によるメール送信・・・「Google グループによってメッセージが拒否されました。http://support.google.com/a/answer/168383 の一括送信ガイドラインをご確認ください」と表示される・・

そうそう、日本語だとそういう意味なんだなと思いつつ・・・

 

結論として、メッセージを送信したIPアドレスが過去にGoogleユーザーによって迷惑メール関連のトラフィックの送信元として識別されていることを意味するそうです。

誰かが、迷惑メールだ!ってボタンを押したってことかな。みんなぷちっとするような・・・。

 

ホワイトリストへの追加方法もあるみたいなのでヘルプをご参照あれ。

 

so-net hostingサービスにWordPressをインストールする

So-net HostingサービスにWordPressを入れられないよーとかありましたがインストールが無事にできましたので簡単にポイントだけメモしておきます。

 

■MySQLが5.1なので

phpMyAdmin3.4.3を使いました。

https://www.phpmyadmin.net/files/3.4.3/

 

また、MySQLのポート番号が通常の番号とは異なるので

$cfg['Servers'][$i]['port'] = 'ポート番号';

と、phpMyAdminのConfig.ini.phpに追記。

 

■WordPressで

データベースサーバー指定で

サーバー名:ポート番号

としました。

 

ポイントは、MySQLが初期ポート番号と異なるため、変更が必要というところです。

 

まあ、サーバーになれている方ならそう難しくない作業でしょう。

 

PostgreSQLのテーブルを空にする

PostgreSQLのテーブルの中身をぷちっとデータを空にしたいなって思っていて調べたら便利なクエリがありました。

テーブルを空にする方法

1.テーブルだけクリアする方法

truncate table 空にしたいテーブル名;

 

2.シーケンス番号もクリアしたい場合

truncate table 空にしたいテーブル名 restart identity

DELETEでぐりぐりしなくて良いので簡単です。

 

Fuelphpでも「truncate」の関数あったな・・・

スマホ対応のVRグラスを試してみる(エレコム P-VRG03BU)

なんとなくスマホ対応のVRグラスを買ってしまいました。(エレコム P-VRG03BU)

撮影キットも買いたかったのですがiPhone7 Plusに装着できるのかわからなかったため、今回はこれだけで試してみます。

 

vr

 

スマホでセットすると↓の感じ。スマホを載せる台は動かせられるので自分のスマホサイズにしましょう。

ピント合わせが赤枠でできるのでこのタイプにしてみました。ピントが難しいのかな

vr2

 

あ、中側にもビニールがついているのではずしましょう・・・最初気がつかなかったよ・・・なんかぼけてるなってさ・・・

 

装着した時の写真↓↓↓↓

 

 

す、すみません

 

掲載できないぐらい怪しい人になりましたので未掲載です・・・・。

利き目って影響があるみたいで見やすいポイントを見つける必要がありそうです。

さて、コンテンツを試してみるかな・・・気持ち悪くなるので短時間だけですが・・・。

Android Studioをインストールしてみる

androidアプリでも作りますか?って思ってみたので開発環境を整えたいと思います。

今回は、「Android Studio」を使ってみたいので早速インストールします。

 

ダウンロードサイト↓

https://developer.android.com/studio/index.html

 

上記のサイトに手順が書いてあるのでその通りに実施。

1.ダウンロードした .exe ファイルを実行します。
2.セットアップ ウィザードに従い、Android Studio と必要な SDK ツールをインストールします。
Windows システムによっては、起動スクリプトが JDK のインストール場所を検出できない場合があります。この問題が発生したら、以下の手順で適切な場所を指定するよう環境変数を設定してください。
[Start menu] > [Computer] > [System Properties] > [Advanced System Properties] を選択します。[Advanced] タブ > [Environment Variables] を開き、新たにシステム変数 JAVA_HOME を追加して、JDK フォルダーの場所(C:\Program Files\Java\jdk1.8.0_77 など)を指定します。

 

やっぱりなんだかなんだとパソコンのCドライブを使っていきます・・・PCはCドライブを大きく!SSDだと懐具合と勝負!

 

インストールの続き。。。

android

とりあえずstandardで。

android2

 

これで終わり?→ダウンロードがスタート!!

android4

 

「Start a new Android Stduio Project」をクリック。てアプリ作るためのプロジェクトスタート!

android5

 

えーとアーしてこーして。。。はまたこんど。

昔より便利だなこれ。。

求人コーナーを作ってみる。Job Manager

WordPressってなんでもプラグインがある!って勝手ながら適当に思い込んでおります。(ちゃんと調べますけど・・・。)

サーバー系とかスマホプログラムとか、業務プログラムとかちょっと人がほしいなって思ってきたのでこのサイトに求人コーナーを作りながらついでに記事を書いてみようと思います。

今回使うのが「Job Manager」という求人情報用のプラグインです。

https://wordpress.org/plugins/job-manager/

job

英語なので内容はほどほどにしておいて、評価はやばいなーっていうものではないので試してみようと思います。

 

ということでプラグインのインストールを行います。

 

job2

 

そうするとJob Managerがメニューに追加されます。あー英語だ。

 

日本語化日本語化・・・って探していたらありました。

https://github.com/a2zmax/job-manager-ja

 

ダウンロードしたファイルを解凍し「wp-content/languages/plugins/」にアップして再読み込みすると日本語化になりました。

あとはざっくりと求人の追加を行ってみようと思います。

 

ざっくりと求人情報を作ってみました。

https://it-trouble.help/jobs/

 

job3

あ、まだ英語が・・・。

まあ、ざっくりとできました。

 

 

 

10Gスイッチがエレコムから販売された

10Gのスイッチってまだまだ届かない世界かなって思ってましたがエレコムから発売とのこと。

■製品URL

http://www2.elecom.co.jp/products/EHB-UT2A08F.html

 

10gbps

 

4ポートと8ポートタイプの2種類で59,800円~。

 

データ転送量も最近いろいろと多くなってきたので10Gのスイッチ魅力的ですね。

単純計算するとギガビットの1/10時間で済みそうなのでいろいろなものがさらに大容量化しそう。

 

とりあえず、NASにも10Gのインターフェースが搭載される日も近いのかもしれないからそれまで様子見としよう。

 

[PHP]Invalid argument supplied for foreach()

Invalid argument supplied for foreach()ってエラーがでた場合は、foreachで中身を見ようとしている配列に値がないってこと。

 

中身があるかチェックするべし。

 

ってこと。