<msys2> HOMEが上書きされて動かなくなった、、、
msys2
を使っていたら、突然起動しなくなった。
HOME
変数が、CADソフトを入れたことで、上書きされて、C:\SPB_Data
になったせいらしい。
と、いうことで、C:\msys64\msys2.ini
に下記を追加。
HOME=C:\msys64\home\hoge
<msys2> めっちゃ久々のインストール、、、
PCの入れ替えがあり、どうしてもmsys2
を新規に入れる必要が、、、
久々なんで、メモっとくことに。
前回の更新は、2020/09/11。
今回は、2021/09/13。 msys2
は、msys2-x86_64-202010725.exe
だったじょ。
その1... インストール。
普通に、C:msys64
を選択しておく。
その2... .bashrc
をいじり、proxy
を設定する。
その3... いろいろないので、pacman
で取ってくる。
pacman -S vim pacman -S git pacman -S zsh pacman -S tmux pacman -S fzy pacman -S unzip pacman -S diffutils pacman -S winpty
その4... /etc/pacman.conf
のmsys32
msys64
のインストールを切る。
その5... dotfileを設定する。
git clone dotfiles echo ". ~/dotfiles/my_bashrc" >> .bashrc cp dotfiles/home_dotfiles/zshrc .zshrc cp dotfiles/home_dotfiles/bashrc .bashrc cp dotfiles/home_dotfiles/vimrc .vimrc cp dotfile/my_minttyrc_UTF-8 .minttyrc
その6... powerline
用に、フォントインストール。
下記をダウンロードして、クリック。インストールボタンが表示されるので、それをクリック。
mintty
のText
--> Locale
をC
に設定する。powerline
が正しく表示されるようにするため。
その7... vim
を設定する。
その8... /etc/fstab
をいじる。
OneDrive
を設定しておくと便利。
/etc/fstab
に次の一文追加。
c:/Users/hage/OneDrive/ /home/hage/onedrive
その9... 起動シェル変更。
/msys2.ini
に次の一行追加。
HOME
変数は、CADソフトを入れると、HOME
が上書きされるのに対する対策。
HOME=C:\msys64\home\hoge SHELL=/usr/bin/zsh
<conda, Windows> プロキシ設定、
Windows
に入れたアナコンダさんのプロキシ設定。
/c/Users/hage/Anaconda3
に行き、.condarc
を作る。
で、
proxy_servers: http: http://hage-proxy.com:80 https: https://hage-proxy.com:80 ssl_verify: false
と書く。
ちゃんと設定できたかは、
>conda config --show
で確認する。
<Apache> アパッチ
アパッチ Apache
、えい、や、とう。
インストール。
>yum install httpd httpd-devel >httpd -v # Apacheのversion確認 >pip install mod_wsgi >python -c 'import sys; print(sys.path)' # PYTHONPATHの確認
systemctl
であぱっちさん
の起動する時に渡す環境変数は/etc/systemconfig/httpd
に書き込む。
bashじゃないので、export
はいらない。
wsgi
でpython
使うとき、プラス、そのpython
が別にインストールされたものの場合、
下記環境変数をセットしないと、python
を見つけられず、あぱっちさん
がエラーを吐くっす。
PATH="/opt/anaconda3/bin:$PATH" PYTHONHOME=/opt/anaconda3/bin PYTOHNPATH=/opt/anaconda3/lib/python3.7/site-packages
で、/etc/httpd/cond.d/wsgi.conf
とファイルを作り、下記書き込む。
LoadModule
の行がないと、あぱっちさん
がブーたれる。
LoadModule wsgi_module /opt/anaconda3/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so WSGIDaemonProcess myapp user=hoge group=hoge #指定しないとrootで、こける。 WSGIProcessGroup myapp WSGISocketPrefix /var/run/wsgi WSGIScriptAlias / /var/www/app # これで、この下のスクリプトが全部動く。 #WSGIScriptAlias /app /var/www/app/app.wsgi <Directory /var/www/app/> Options ExecCGI MultiViews Indexes MultiViewsMatch Handlers AddHandler wsgi-script .py AddHandler wsgi-script .wsgi DirectoryIndex index.html index.py app.wsgi #この順でアクセス。 Order allow,deny Allow from all </Directory>
で、httpdサービススタート。
>systemctl start httpd
さて、本題。個人のディレクトリを有効化する。
/etc/httpd/conf.d/userdir.conf
を下記のようにする。
ミソは、WSGIScriptAliasMatch
の指定。
正規表現で、ユーザ名を拾って、それを、$1
で渡す。
そうすっと、public_html
以下のスクリプトが動く。
ここまで発見するのに時間かかった。。。
LoadModule wsgi_module /opt/anaconda3/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so <IfModule mod_userdir.c> #UserDir disable UserDir public_html # こっちを活かす WSGIDaemonProcess myapp user=hoge group=hoge #指定しないとrootで、こける。 WSGIProcessGroup myapp WSGISocketPrefix /var/run/wsgi WSGIScriptAliasMatch ~([^/]+) /home/$1/public_html/ # これで、この下のスクリプトが全部動く。 </IfModule>
で、対象のディレクトリたちを、appache
ユーザ権限で見れるように、chmod 755
する。
はまりがちなのが、上位階層のディレクトリに実行権限を与え忘れること。
>chmod 701 /home/hoge >chmod 755 /home/hoge/public_html
htaccess
あと、個人のディレクトリでリダイレクトする設定。
これで、http://hagehage.com/~hage
とアクセスすると、python
のスクリプトapp.wsgi
に飛んでいく。
RewriteEngine On RewriteBase /~hage RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.wsgi [L]
ログ達。
>more /var/log/httpd/access_log >more /var/log/httpd/error_log
参考にさせてもらったところ。
<Linux, Admin> sudoできるようにする。
hogeユーザをsudo
できるようにする。
/etc/sudoers
をいじる。
visudo
ってやると、ファイルが開くか、vi /etc/sudoers
。
で、下記追加。パスワード無しでsudo
できる。
hoge ALL=(ALL) NOPASSWD: ALL
あと、下記のようにして、ユーザのデフォルトのPATHを生かす。
#Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults env_keep +="PATH"
おわり。
<Linux, Bash> enhancd
enhancd
使わせてもらいました。 便利っす。
下記を追加するっす。 もっと便利になったっす。
ENHANCD_HYPHEN_ARG="-ls" ENHANCD_DOT_ARG="-up" ENHANCD_DISABLE_HOME=1 . path/to/enhancd/init.sh bind -x '"\C-l": cd -ls'