{"id":267,"date":"2020-11-10T20:21:17","date_gmt":"2020-11-10T11:21:17","guid":{"rendered":"https:\/\/vasyworks.yworks.net\/?page_id=267"},"modified":"2023-02-24T18:41:10","modified_gmt":"2023-02-24T09:41:10","slug":"install","status":"publish","type":"page","link":"https:\/\/vasyworks.yworks.net\/index.php\/install\/","title":{"rendered":"Vasyworks\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb"},"content":{"rendered":"\n<p class=\"has-text-align-center\">\u3053\u3053\u3067\u306f\u3001Ubuntu20.04\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u624b\u9806\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">1.\u521d\u671f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>0)\u6e96\u5099\n# sudo su -       root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n# apt update\n# apt upgrade \u2192 \u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u305f\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067OK\u3059\u308b\u3002\n# apt install language-pack-ja\n# apt install fonts-ipa*\n# exit    \uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u4e2d\u65ad\u3059\u308b\u5834\u5408\uff09\n\n1)Nginx\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u518d\u958b\u3059\u308b\u5834\u5408\uff09\n# apt install nginx\n# systemctl enable nginx.service    \u2190\u81ea\u52d5\u8d77\u52d5\n# exit    \uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u4e2d\u65ad\u3059\u308b\u5834\u5408\uff09\n\n2)Python3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u518d\u958b\u3059\u308b\u5834\u5408\uff09\n# apt install python3\n# apt install python3-pip python3-dev python3-venv\n# apt install gettext\n# apt install libpq-dev\n# exit    \uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u4e2d\u65ad\u3059\u308b\u5834\u5408\uff09\n\n3) FTP\u30b5\u30fc\u30d0\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u518d\u958b\u3059\u308b\u5834\u5408\uff09\n# adduser web     \u2190\u30d5\u30a1\u30a4\u30eb\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u7528\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u4efb\u610f\n# chmod 755 \/home\/web      \u2190\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u5909\u66f4\n# apt install vsftpd\n# systemctl enable vsftpd.service   \u2190\u81ea\u52d5\u8d77\u52d5\n\n# vi \/etc\/vsftpd.conf\n-----\nlisten=YES        \uff08\u5909\u66f4\uff09\n#listen_ipv6=YES        \uff08\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3059\u308b\uff09\nwrite_enable=YES     \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nlocal_umask=022        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nascii_upload_enable=YES        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nascii_download_enable=YES        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nchroot_local_user=YES        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nls_recurse_enable=YES        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\nseccomp_sandbox=NO        \uff08\u8ffd\u52a0\uff09\nallow_writeable_chroot=YES        \uff08\u8ffd\u52a0\uff09\npasv_enable=YES        \uff08\u8ffd\u52a0\uff09\npasv_min_port=\u4efb\u610f\u306e\u30dd\u30fc\u30c8\u756a\u53f71        \uff08\u8ffd\u52a0\uff09\npasv_max_port=\u4efb\u610f\u306e\u30dd\u30fc\u30c8\u756a\u53f72        \uff08\u8ffd\u52a0\uff09\n-----\n\n# service vsftpd restart\n# exit    \uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u4e2d\u65ad\u3059\u308b\u5834\u5408\uff09\n\n\u203b pasv\u30e2\u30fc\u30c9\u3067\u4f7f\u7528\u3059\u308b\u30dd\u30fc\u30c8\u306b\u3064\u3044\u3066\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u306e\u8a31\u53ef\u8a2d\u5b9a\u3082\u78ba\u8a8d\u3059\u308b\u3002\n\u203b web \u30e6\u30fc\u30b6\u3067FTP\u63a5\u7d9a\u3092\u78ba\u8a8d\u3059\u308b\u3002\n\n4) PostgraSQL\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\uff08\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u518d\u958b\u3059\u308b\u5834\u5408\uff09\n# apt install postgresql-12\n# passwd postgres    \u2190PostgreSQL\u7528\u30e6\u30fc\u30b6\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u8a2d\u5b9a\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u4efb\u610f\n# exit\n# su postgres     postgres\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n# createdb rent_db --encoding=UTF-8 --locale=ja_JP.UTF-8 --template=template0\n# psql rent_db\n-----\nrent_db=# alter role postgres with password '\u4efb\u610f\u306e\u30d1\u30b9\u30ef\u30fc\u30c9';\nrent_db=# create role yworks with login;\nrent_db=# alter role yworks superuser;\nrent_db=# alter role yworks with password '\u4efb\u610f\u306e\u30d1\u30b9\u30ef\u30fc\u30c9';\nrent_db=# alter database rent_db owner to yworks;\nrent_db=# set time zone 'Asia\/Tokyo';\n\nrent_db=# \\q\n-----\n# exit\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n# vi \/etc\/postgresql\/12\/main\/postgresql.conf\n-----\nlisten_addresses = '*'         \uff08\u5909\u66f4\uff09\nautovacuum = on        \uff08\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\uff09\n  \u203b \u4ee5\u4e0b\u3001autovacuum\u95a2\u9023\u306e\u8a2d\u5b9a\u306e\u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3059\u3002\ntimezone = 'Asia\/Tokyo'         \uff08\u5909\u66f4\uff09\n-----\n\n# vi \/etc\/postgresql\/12\/main\/pg_hba.conf\n-----\n# IPv4 local connections:\nhost    all    all  127.0.0.1\/32    password        \uff08\u5909\u66f4\uff09\n-----\n\n# service postgresql restart\n# exit\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">2.Vasyworks\u7528\u306eWEB\u30b5\u30fc\u30d0\u8a2d\u5b9a<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1)\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u8a2d\u5b9a\u6e96\u5099\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n\n# vi \/etc\/nginx\/nginx.conf\n------\nclient_max_body_size 50M;        \uff08Basic Settings\u306b\u8ffd\u52a0\uff09\n------\n# service nginx restart\n#exit\n\n# sudo su web     web\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n# cd ~\n# mkdir html\n# cd html\n# mkdir vacancy_model\n# mkdir vacancy_model\/static\n# mkdir vacancy_mgr\n# mkdir vacancy_mgr\/static\n# mkdir vacancy\n# mkdir vacancy\/static\n# mkdir vacancy_api\n# mkdir vacancy_api\/static\n# mkdir vacancy_search\n# mkdir vacancy_search\/static\n\n2)vacancy_model\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d0\u8a2d\u5b9a\n# cd ~\/html\/vacancy_model\n# python3 -m venv venv\n# source venv\/bin\/activate        \u2190venv\u74b0\u5883\u306b\u79fb\u884c\n\n(venv) pip3 install django==3.2.4\n(venv) pip3 install djangorestframework==3.12.4\n(venv) pip3 install django-bootstrap4==3.0.1\n(venv) pip3 install django-filter==2.4.0\n(venv) pip3 install pillow==8.2.0\n(venv) pip3 install wheel==0.37.0\n(venv) pip3 install psycopg2==2.8.6\n(venv) pip3 install psycopg2-binary==2.8.6\n(venv) pip3 install python-dateutil==2.8.1\n(venv) pip3 install gunicorn==20.1.0\n(venv) pip3 install pycryptodome==3.10.1\n(venv) pip3 install qrcode==6.1\n\n(venv) cd ~\/html\n(venv) django-admin startproject vacancy_model .\/vacancy_model\n(venv) cd vacancy_model\n\n(venv) vi vacancy_model\/settings.py\n-----\nALLOWED_HOSTS = &#91;'*']        \uff08\u5909\u66f4\uff09\n-----\n\n(venv) which gunicorn     (gunicorn\u306e\u30d1\u30b9\u3092\u78ba\u8a8d)\n\n(venv) python manage.py runserver 0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) gunicorn vacancy_model.wsgi --bind=0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) deactivate        \u2190venv\u74b0\u5883\u7d42\u4e86\n\n3)vacancy_mgr\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d0\u8a2d\u5b9a\n# cd ~\/html\/vacancy_mgr\n# python3 -m venv venv\n# source venv\/bin\/activate        \u2190venv\u74b0\u5883\u306b\u79fb\u884c\n\n\u203b \u4ee5\u4e0b\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u3001\u4ee5\u964d\u306e\u5404\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5171\u901a\n-----\n(venv) pip3 install django==3.2.4\n(venv) pip3 install djangorestframework==3.12.4\n(venv) pip3 install django-bootstrap5==21.3\n(venv) pip3 install django-filter==2.4.0\n(venv) pip3 install pillow==8.2.0\n(venv) pip3 install wheel==0.37.0\n(venv) pip3 install psycopg2==2.8.6\n(venv) pip3 install psycopg2-binary==2.8.6\n(venv) pip3 install python-dateutil==2.8.1\n(venv) pip3 install gunicorn==20.1.0\n(venv) pip3 install pycryptodome==3.10.1\n(venv) pip3 install qrcode==6.1\n-----\n\n(venv) cd ~\/html\n(venv) django-admin startproject vacancy_mgr .\/vacancy_mgr\n(venv) cd vacancy_mgr\n\n(venv) vi vacancy_mgr\/settings.py\n-----\nALLOWED_HOSTS = &#91;'*']        \uff08\u5909\u66f4\uff09\n-----\n\n(venv) which gunicorn     (gunicorn\u306e\u30d1\u30b9\u3092\u78ba\u8a8d)\n\n(venv) python manage.py runserver 0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) gunicorn vacancy_mgr.wsgi --bind=0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) deactivate        \u2190venv\u74b0\u5883\u7d42\u4e86\n\n4)vacancy\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d0\u8a2d\u5b9a\n# cd ~\/html\/vacancy\n# python3 -m venv venv\n# source venv\/bin\/activate        \u2190venv\u74b0\u5883\u306b\u79fb\u884c\n\n\u203b vacancy_mgr\u3068\u540c\u3058\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d44\u307f\u8fbc\u307f\n-----\n(venv) pip3 install django==\n\u30fb\u30fb\u30fb\n-----\n\n(venv) cd ~\/html\n(venv) django-admin startproject vacancy .\/vacancy\n(venv) cd vacancy\n\n(venv) vi vacancy\/settings.py\n-----\nALLOWED_HOSTS = &#91;'*']        \uff08\u5909\u66f4\uff09\n-----\n\n(venv) which gunicorn     (gunicorn\u306e\u30d1\u30b9\u3092\u78ba\u8a8d)\n\n(venv) python manage.py runserver 0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) gunicorn vacancy.wsgi --bind=0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) deactivate        \u2190venv\u74b0\u5883\u7d42\u4e86\n\n5)vacancy_api\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d0\u8a2d\u5b9a\n# cd ~\/html\/vacancy_api\n# python3 -m venv venv\n# source venv\/bin\/activate        \u2190venv\u74b0\u5883\u306b\u79fb\u884c\n\n\u203b vacancy_mgr\u3068\u540c\u3058\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d44\u307f\u8fbc\u307f\n-----\n(venv) pip3 install django==\n\u30fb\u30fb\u30fb\n-----\n\n(venv) cd ~\/html\n(venv) django-admin startproject vacancy_api .\/vacancy_api\n(venv) cd vacancy_api\n\n(venv) vi vacancy_api\/settings.py\n-----\nALLOWED_HOSTS = &#91;'*']        \uff08\u5909\u66f4\uff09\n-----\n\n(venv) which gunicorn     (gunicorn\u306e\u30d1\u30b9\u3092\u78ba\u8a8d)\n\n(venv) python manage.py runserver 0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) gunicorn vacancy_api.wsgi --bind=0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) deactivate        \u2190venv\u74b0\u5883\u7d42\u4e86\n\n6)vacancy_search\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d0\u8a2d\u5b9a\n# cd ~\/html\/vacancy_search\n# python3 -m venv venv\n# source venv\/bin\/activate        \u2190venv\u74b0\u5883\u306b\u79fb\u884c\n\n\u203b vacancy_mgr\u3068\u540c\u3058\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d44\u307f\u8fbc\u307f\n-----\n(venv) pip3 install django==\n\u30fb\u30fb\u30fb\n-----\n\n(venv) cd ~\/html\n(venv) django-admin startproject vacancy_search .\/vacancy_search\n(venv) cd vacancy_search\n\n(venv) vi vacancy_search\/settings.py\n-----\nALLOWED_HOSTS = &#91;'*']        \uff08\u5909\u66f4\uff09\n-----\n\n(venv) which gunicorn     (gunicorn\u306e\u30d1\u30b9\u3092\u78ba\u8a8d)\n\n(venv) python manage.py runserver 0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) gunicorn vacancy_search.wsgi --bind=0.0.0.0:8080\n\u2191\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u78ba\u8a8d\u3001Ctrl+C\u3067\u30d7\u30ed\u30bb\u30b9\u505c\u6b62\n\n(venv) deactivate        \u2190venv\u74b0\u5883\u7d42\u4e86\n\n7) Nginx \u306e\u8a2d\u5b9a\n# exit\n# sudo su -      root\u30e6\u30fc\u30b6\u306b\u5909\u66f4\n\n# cd \/etc\/systemd\/system\/\n# vi gunicorn_vacancy_model.socket\n-----\n&#91;Unit]\nDescription=gunicorn socket vacancy model\n\n&#91;Socket]\nListenStream=\/run\/gunicorn_vacancy_model\/socket\n\n&#91;Install]\nWantedBy=sockets.target\n-----\n\n# cp gunicorn_vacancy_model.socket gunicorn_vacancy_mgr.socket        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.socket gunicorn_vacancy.socket       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.socket gunicorn_vacancy_api.socket       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.socket gunicorn_vacancy_search.socket       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n\n# vi gunicorn_vacancy_mgr.socket        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn socket vacancy manager        \uff08\u5909\u66f4\uff09\n\n&#91;Socket]\nListenStream=\/run\/gunicorn_vacancy_mgr\/socket       \uff08\u5909\u66f4\uff09\n\n&#91;Install]\nWantedBy=sockets.target\n-----\n\n# vi gunicorn_vacancy.socket       \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn socket vacancy       \uff08\u5909\u66f4\uff09\n\n&#91;Socket]\nListenStream=\/run\/gunicorn_vacancy\/socket       \uff08\u5909\u66f4\uff09\n\n&#91;Install]\nWantedBy=sockets.target\n-----\n\n# vi gunicorn_vacancy_api.socket       \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn socket vacancy api      \uff08\u5909\u66f4\uff09\n\n&#91;Socket]\nListenStream=\/run\/gunicorn_vacancy_api\/socket       \uff08\u5909\u66f4\uff09\n\n&#91;Install]\nWantedBy=sockets.target\n-----\n\n# vi gunicorn_vacancy_search.socket        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn socket vacancy search        \uff08\u5909\u66f4\uff09\n\n&#91;Socket]\nListenStream=\/run\/gunicorn_vacancy_search\/socket       \uff08\u5909\u66f4\uff09\n\n&#91;Install]\nWantedBy=sockets.target\n-----\n\n#vi gunicorn_vacancy_model.service\n-----\n&#91;Unit]\nDescription=gunicorn daemon vacancy model\nRequires=gunicorn_vacancy_model.socket\nAfter=network.target\n\n&#91;Service]\nPIDFile=\/run\/gunicorn_vacancy_model\/pid\nUser=web\nGroup=web\nRuntimeDirectory=gunicorn_vacancy_model\nWorkingDirectory=\/home\/web\/html\/vacancy_model\nExecStart=\/home\/web\/html\/vacancy_model\/venv\/bin\/gunicorn -w 3 -b 0.0.0.0:8000 vacancy_model.wsgi\nExecReload=\/bin\/kill -s HUP $MAINPID\nExecStop=\/bin\/kill -s TERM $MAINPID\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target\n-----\n\n# cp gunicorn_vacancy_model.service gunicorn_vacancy_mgr.service        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.service gunicorn_vacancy.service       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.service gunicorn_vacancy_api.service       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp gunicorn_vacancy_model.service gunicorn_vacancy_search.service       \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n\n# vi gunicorn_vacancy_mgr.service        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn daemon vacancy manager       \uff08\u5909\u66f4\uff09\nRequires=gunicorn_vacancy_mgr.socket       \uff08\u5909\u66f4\uff09\nAfter=network.target\n\n&#91;Service]\nPIDFile=\/run\/gunicorn_vacancy_mgr\/pid       \uff08\u5909\u66f4\uff09\nUser=web\nGroup=web\nRuntimeDirectory=gunicorn_vacancy_mgr       \uff08\u5909\u66f4\uff09\nWorkingDirectory=\/home\/web\/html\/vacancy_mgr      \uff08\u5909\u66f4\uff09\nExecStart=\/home\/web\/html\/vacancy_mgr\/venv\/bin\/gunicorn -w 3 -b 0.0.0.0:8001 vacancy_mgr.wsgi       \uff08\u5909\u66f4\uff09\nExecReload=\/bin\/kill -s HUP $MAINPID\nExecStop=\/bin\/kill -s TERM $MAINPID\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target\n-----\n\n# vi gunicorn_vacancy.service        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn daemon vacancy       \uff08\u5909\u66f4\uff09\nRequires=gunicorn_vacancy.socket       \uff08\u5909\u66f4\uff09\nAfter=network.target\n\n&#91;Service]\nPIDFile=\/run\/gunicorn_vacancy\/pid      \uff08\u5909\u66f4\uff09\nUser=web\nGroup=web\nRuntimeDirectory=gunicorn_vacancy       \uff08\u5909\u66f4\uff09\nWorkingDirectory=\/home\/web\/html\/vacancy      \uff08\u5909\u66f4\uff09\nExecStart=\/home\/web\/html\/vacancy\/venv\/bin\/gunicorn -w 3 -b 0.0.0.0:8002 vacancy.wsgi       \uff08\u5909\u66f4\uff09\nExecReload=\/bin\/kill -s HUP $MAINPID\nExecStop=\/bin\/kill -s TERM $MAINPID\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target\n-----\n\n# vi gunicorn_vacancy_api.service        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn daemon vacancy api       \uff08\u5909\u66f4\uff09\nRequires=gunicorn_vacancy_api.socket       \uff08\u5909\u66f4\uff09\nAfter=network.target\n\n&#91;Service]\nPIDFile=\/run\/gunicorn_vacancy_api\/pid       \uff08\u5909\u66f4\uff09\nUser=web\nGroup=web\nRuntimeDirectory=gunicorn_vacancy_api       \uff08\u5909\u66f4\uff09\nWorkingDirectory=\/home\/web\/html\/vacancy_api      \uff08\u5909\u66f4\uff09\nExecStart=\/home\/web\/html\/vacancy_api\/venv\/bin\/gunicorn -w 3 -b 0.0.0.0:8003 vacancy_api.wsgi       \uff08\u5909\u66f4\uff09\nExecReload=\/bin\/kill -s HUP $MAINPID\nExecStop=\/bin\/kill -s TERM $MAINPID\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target\n-----\n\n# vi gunicorn_vacancy_search.service        \u2190\u7570\u306a\u308b\u7b87\u6240\u3060\u3051\u4fee\u6b63\n-----\n&#91;Unit]\nDescription=gunicorn daemon vacancy search       \uff08\u5909\u66f4\uff09\nRequires=gunicorn_vacancy_search.socket       \uff08\u5909\u66f4\uff09\nAfter=network.target\n\n&#91;Service]\nPIDFile=\/run\/gunicorn_vacancy_search\/pid       \uff08\u5909\u66f4\uff09\nUser=web\nGroup=web\nRuntimeDirectory=gunicorn_vacancy_search       \uff08\u5909\u66f4\uff09\nWorkingDirectory=\/home\/web\/html\/vacancy_search      \uff08\u5909\u66f4\uff09\nExecStart=\/home\/web\/html\/vacancy_search\/venv\/bin\/gunicorn -w 3 -b 0.0.0.0:8004 vacancy_search.wsgi       \uff08\u5909\u66f4\uff09\nExecReload=\/bin\/kill -s HUP $MAINPID\nExecStop=\/bin\/kill -s TERM $MAINPID\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target\n-----\n\n# cd \/etc\/nginx\/conf.d\n# vi vacancy_model.conf\n-----\nserver {\n    listen  80; \n    server_name     vasyworks-db.yworks.net;        \u2190\u7a7a\u5ba4\u60c5\u5831\u7528\u306eURL\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\uff08\u4f8b\uff1avacancy.yworks.net\uff09\n    \n    location \/static {\n        alias \/home\/web\/html\/vacancy_model\/static;\n    }\n    \n    location \/static\/admin {\n        alias \/home\/web\/html\/vacancy_model\/venv\/lib\/python3.8\/site-packages\/django\/contrib\/admin\/static\/admin;\n    }\n    \n    location \/robots.txt {\n        alias \/home\/web\/html\/vacancy_model\/robots.txt;\n    }\n    \n    location \/ {\n        proxy_pass http:\/\/unix:\/run\/gunicorn_vacancy_model\/socket;\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n-----\n\n# cp vacancy_model.conf vacancy_mgr.conf        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp vacancy_model.conf vacancy.conf        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp vacancy_model.conf vacancy_api.conf        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n# cp vacancy_model.conf vacancy_search.conf        \u2190\u30b3\u30d4\u30fc\u3057\u3066\u4fee\u6b63\n\n# vi vacancy_mgr.conf\n-----\nserver {\n    listen  80; \n    server_name     vasyworks-mgr.yworks.net;        \u2190\u7a7a\u5ba4\u60c5\u5831\u7528\u306eURL\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\n    \n    location \/static {\n        alias \/home\/web\/html\/vacancy_mgr\/static;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/static\/admin{\u30fb\u30fb\u30fb}         \uff08\u524a\u9664\uff09\n    \n    location \/robots.txt {\n        alias \/home\/web\/html\/vacancy_mgr\/robots.txt;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/ {\n        proxy_pass http:\/\/unix:\/run\/gunicorn_vacancy_mgr\/socket;         \uff08\u5909\u66f4\uff09\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n-----\n\n# vi vacancy.conf\n-----\nserver {\n    listen  80; \n    server_name     vasyworks-list.yworks.net;        \u2190\u7a7a\u5ba4\u60c5\u5831\u7528\u306eURL\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\n    \n    location \/static {\n        alias \/home\/web\/html\/vacancy\/static;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/static\/admin{\u30fb\u30fb\u30fb}         \uff08\u524a\u9664\uff09\n    \n    location \/robots.txt {\n        alias \/home\/web\/html\/vacancy\/robots.txt;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/ {\n        proxy_pass http:\/\/unix:\/run\/gunicorn_vacancy\/socket;         \uff08\u5909\u66f4\uff09\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n-----\n\n# vi vacancy_api.conf\n-----\nserver {\n    listen  80;\n    server_name     vasyworks-api.yworks.net;        \u2190\u7a7a\u5ba4\u60c5\u5831\u7528\u306eURL\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\n    \n    location \/static {\n        alias \/home\/web\/html\/vacancy_api\/static;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/static\/rest_framework {         \uff08\u5909\u66f4\uff09\n        alias \/home\/web\/html\/vacancy_api\/venv\/lib\/python3.8\/site-packages\/rest_framework\/static\/rest_framework;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/robots.txt {\n        alias \/home\/web\/html\/vacancy_api\/robots.txt;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/ {\n        proxy_pass http:\/\/unix:\/run\/gunicorn_vacancy_api\/socket;         \uff08\u5909\u66f4\uff09\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n\n# vi vacancy_search.conf\n-----\nserver {\n    listen  80;\n    server_name     vasyworks-search.yworks.net;        \u2190\u7a7a\u5ba4\u60c5\u5831\u7528\u306eURL\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9\n    \n    location \/static {\n        alias \/home\/web\/html\/vacancy_search\/static;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/static\/admin{\u30fb\u30fb\u30fb}         \uff08\u524a\u9664\uff09\n    \n    location \/robots.txt {\n        alias \/home\/web\/html\/vacancy_search\/robots.txt;         \uff08\u5909\u66f4\uff09\n    }\n    \n    location \/ {\n        proxy_pass http:\/\/unix:\/run\/gunicorn_vacancy_search\/socket;         \uff08\u5909\u66f4\uff09\n        proxy_set_header Host $http_host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n-----\n# systemctl daemon-reload\n# systemctl enable gunicorn_vacancy_model.service\n# systemctl enable gunicorn_vacancy_mgr.service\n# systemctl enable gunicorn_vacancy.service\n# systemctl enable gunicorn_vacancy_api.service\n# systemctl enable gunicorn_vacancy_search.service\n\n# nginx -t        Nginx\u8a2d\u5b9a\u306e\u30c6\u30b9\u30c8\n\n# service gunicorn_vacancy_model stop\n# service gunicorn_vacancy_model start\n# service gunicorn_vacancy_mgr stop\n# service gunicorn_vacancy_mgr start\n# service gunicorn_vacancy stop\n# service gunicorn_vacancy start\n# service gunicorn_vacancy_api stop\n# service gunicorn_vacancy_api start\n# service gunicorn_vacancy_search stop\n# service gunicorn_vacancy_search start\n# service nginx restart\n\n\u203b gunicorn\u7cfb\u306eservice\u30b3\u30de\u30f3\u30c9\u306frestart\u3067\u3046\u307e\u304f\u52d5\u304b\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\n\n\u2192\u30d6\u30e9\u30a6\u30b6\u3067\u8868\u793a\u3092\u78ba\u8a8d\n\n\n********** \u53c2\u8003 **********\ngunicorn\n        -w 3   \u2190\u30ef\u30fc\u30ab\u30fc\u30d7\u30ed\u30bb\u30b9\uff082\u301c4\u3067\u8a2d\u5b9a\uff09\n        -b 0.0.0.0:8000    \u2190\u30dd\u30fc\u30c8\u756a\u53f78000\u3067\u30d0\u30a4\u30f3\u30c9\u3001\u5404\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u30dd\u30fc\u30c8\u3092\u5206\u3051\u308b\u3002\n\n\n********** \u53c2\u8003 **********\nNginx\u304c\u3046\u307e\u304f\u52d5\u304b\u306a\u3044\u6642\u306e\u8abf\u67fb\u7528\u30b3\u30de\u30f3\u30c9    \n        cat \/var\/log\/nginx\/error.log\n        systemctl status gunicorn\n        file \/run\/gunicorn\/socket\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">3.VasyworksDB\uff08\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u69cb\u7bc9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1) web \u30e6\u30fc\u30b6\u3067\u30b5\u30fc\u30d0\u306bFTP\u63a5\u7d9a\u3059\u308b\u3002\n2) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\/html\/vacacancy_model\/ \u3092\u958b\u304f\n3) db.sqllite3 \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n4) vacancy_model \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e0b\u8a18\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3002\n  \u203b vacancy_model \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u306eSECRET_KEY\u306f\u30d5\u30a1\u30a4\u30eb\u30b3\u30d4\u30fc\u306e\u524d\u306b\u4fdd\u7ba1\u3057\u3066\u304a\u304f\u3002\n  \u30fbvacancy_model \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3068urls.py\n  \u30fbrent_db \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n5) vacancy_model \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306evacancy_model \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3092\u4fee\u6b63\u3059\u308b\u3002\n  \u30fbSECRET_KEY='\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u305fSECRET_KEY'\n  \u30fbDEBUG=False\n  \u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a2d\u5b9a\n        HOST\u306f127.0.0.1\n        PASSWORD\u306f\u8a2d\u5b9a\u6e08\u307f\u306eyworks\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n6) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306binitial-data\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u5168\u3066\u30b3\u30d4\u30fc\u3059\u308b\u3002\n7) \u30b5\u30fc\u30d0\u306bSSH\u63a5\u7d9a\u3059\u308b\u3002\n8) rent_db\u3092\u69cb\u7bc9\u3059\u308b\u3002\n    # sudo su web \u2192 \u30e6\u30fc\u30b6\u3092web\u306b\u5909\u66f4\n    # cd ~\/html\/vacancy_model\n    # source venv\/bin\/activate\n    (venv) python manage.py migrate\n    (venv) python manage.py createsuperuser\n       \u30e6\u30fc\u30b6\u540d: root\n       \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9: \u4efb\u610f\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\n       Password: \u4efb\u610f\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n    (venv) deactivate\n    # psql -h 127.0.0.1 -U yworks -d rent_db\n    rent_db=# \\cd \/home\/web\/initial-data\/sql\/import\n    rent_db=# \\i import_enum_data.sql\n    rent_db=# \\i import_sample_data.sql\n    \u203b \u4eac\u90fd\u5e02\u5546\u570f\u7528\u306e\u5834\u5408\u306f\u3001import_kyoto_data.sql \u3082\u5b9f\u884c\u3059\u308b\u3002\n    rent_db=# \\q\n    # exit\n9) \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002\n   # sudo su -\n   # service gunicorn_vacancy_model stop\n       \u203b\u8b66\u544a\u304c\u51fa\u305f\u5834\u5408\u306f systemctl stop gunicorn_vacancy_model.socket\n   # service gunicorn_vacancy_model start\n   # service nginx restart\n10) SSH\u63a5\u7d9a\u3092exit\u3059\u308b\u3002\n11) \u30d6\u30e9\u30a6\u30b6\u3067\u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u8868\u793a\u3059\u308b\u3002\n     \u4f8b: http:\/\/vasyworks-db.yworks.net\/admin\n       \u203b\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u30b5\u30fc\u30d0\u3092\u518d\u8d77\u52d5\n12) root\u30e6\u30fc\u30b6\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u4f1a\u793e\u306e\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\u3092\u767b\u9332\u3059\u308b\u3002\n     \u4f8b\uff1a\n     \u30e6\u30fc\u30b6\u540d: Administrator\n     \u30d1\u30b9\u30ef\u30fc\u30c9: \u4efb\u610f\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n     \u2192 \u4fdd\u5b58\u3057\u3066\u7de8\u96c6\u3092\u7d9a\u3051\u308b\u3002\n      \u59d3: \u4efb\u610f\u306e\u4f1a\u793e\u540d\n      \u540d: \u30b7\u30b9\u30c6\u30e0\u7ba1\u7406\u8005\n      \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9: \u4efb\u610f\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\n      \u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\uff1a \u6709\u52b9\u30fbis_company\u30fbis_company_admin \u306b\u30c1\u30a7\u30c3\u30af\n      \u2192 \u4fdd\u5b58\n13) \u305d\u306e\u4ed6\u3001\u7ba1\u7406\u30b5\u30a4\u30c8\u7528\u306e\u30e6\u30fc\u30b6\u7b49\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u767b\u9332\u3059\u308b\u3002\n14) \u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u5229\u7528\u3057\u3066\u3001\u5404\u7a2e\u30de\u30b9\u30bf\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u767b\u9332\u3059\u308b\u3002\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">4.VasyworksMGR\uff08\u7a7a\u5ba4\u60c5\u5831\u30c7\u30fc\u30bf\u7ba1\u7406\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1) web \u30e6\u30fc\u30b6\u3067\u30b5\u30fc\u30d0\u306bFTP\u63a5\u7d9a\u3059\u308b\u3002\n2) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\/html\/vacacancy_mgr\/ \u3092\u958b\u304f\n3) db.sqllite3 \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n4) vacancy_mgr \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e0b\u8a18\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3002\n  \u203b vacancy_mgr \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u306eSECRET_KEY\u306f\u30d5\u30a1\u30a4\u30eb\u30b3\u30d4\u30fc\u306e\u524d\u306b\u4fdd\u7ba1\u3057\u3066\u304a\u304f\u3002\n  \u203b \u672c\u7a3c\u50cd\u7528\u306e\u30b5\u30fc\u30d0\u306e\u5834\u5408\u3001\u5404\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306btests\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n  \u30fbvacancy_mgr\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3068urls.py\n  \u30fbapi \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbcommon \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbcompany \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbdocuments \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbenums \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbinfo\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fblib\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmasters \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmenu \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbowner \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbproperty \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbsearch \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbtrader \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbusers \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbvacancy_item \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbviewer \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbstatic \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbtemplates \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n5) vacancy_mgr \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306evacancy_mgr \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3092\u4fee\u6b63\u3059\u308b\u3002\n  \u30fbSECRET_KEY='\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u305fSECRET_KEY'\n  \u30fbDEBUG=False\n  \u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a2d\u5b9a\n        HOST\u306f127.0.0.1\n        PASSWORD\u306f\u8a2d\u5b9a\u6e08\u307f\u306eyworks\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n6) \u753b\u50cf\u30c7\u30fc\u30bf\u7b49\u306e\u4fdd\u5b58\u7528\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff08media\uff09\u3092\u4f5c\u6210\u3059\u308b\u3002\n  \u30fbFTP\u63a5\u7d9a\u3067 web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306bvacancy_data \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b\u3002\n  \u30fbvacancy_data \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4e0b\u306b media \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b\u3002\n7) media \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\u3002\n   # sudo su web\n   # cd ~\/html\/vacancy_mgr\n   # ln -s \/home\/web\/vacancy_data\/media media\n   # exit\n8) \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002\n   # sudo su -\n   # service gunicorn_vacancy_mgr stop\n       \u203b\u8b66\u544a\u304c\u51fa\u305f\u5834\u5408\u306f systemctl stop gunicorn_vacancy_mgr.socket\n   # service gunicorn_vacancy_mgr start\n   # service nginx restart\n9) SSH\u63a5\u7d9a\u3092exit\u3059\u308b\u3002\n10) \u30d6\u30e9\u30a6\u30b6\u3067\u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u8868\u793a\u3059\u308b\u3002\n     \u4f8b: http:\/\/vasyworks-mgr.yworks.net\/\n       \u203b\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u30b5\u30fc\u30d0\u3092\u518d\u8d77\u52d5\n11) \u4f1a\u793e\u306e\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\uff08Administrator\uff09\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3001\u4f1a\u793e\u60c5\u5831\u306e\u767b\u9332\u3092\u884c\u3046\u3002\n12) \u300c\u30b7\u30b9\u30c6\u30e0\u7ba1\u7406\u300d\u306e\u300c\u30b7\u30b9\u30c6\u30e0\u30e6\u30fc\u30b6\u300d\u3092\u5b9f\u884c\u3057\u3001\u7ba1\u7406\u90e8\u7f72\u306e\u5b9f\u52d9\u8005\u30e6\u30fc\u30b6\u3092\u4f5c\u6210\u3059\u308b\u3002\n13) \u300c\u30b7\u30b9\u30c6\u30e0\u7ba1\u7406\u300d\u306e\u300c\u7a7a\u5ba4\u60c5\u5831\u30e6\u30fc\u30b6\u300d\u3092\u5b9f\u884c\u3057\u3001\u7a7a\u5ba4\u60c5\u5831\u306e\u95b2\u89a7\u30e6\u30fc\u30b6\u3092\u4f5c\u6210\u3059\u308b\u3002\n14) \u305d\u306e\u4ed6\u3001\u30de\u30b9\u30bf\u767b\u9332\u7b49\u3092\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u884c\u3046\u3002\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">5.VasyworksLIST\uff08\u7a7a\u5ba4\u60c5\u5831\u4e00\u89a7\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1) web \u30e6\u30fc\u30b6\u3067\u30b5\u30fc\u30d0\u306bFTP\u63a5\u7d9a\u3059\u308b\u3002\n2) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\/html\/vacancy\/ \u3092\u958b\u304f\n3) db.sqllite3 \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n4) vacancy \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e0b\u8a18\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3002\n  \u203b vacancy \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u306eSECRET_KEY\u306f\u30d5\u30a1\u30a4\u30eb\u30b3\u30d4\u30fc\u306e\u524d\u306b\u4fdd\u7ba1\u3057\u3066\u304a\u304f\u3002\n  \u203b \u672c\u7a3c\u50cd\u7528\u306e\u30b5\u30fc\u30d0\u306e\u5834\u5408\u3001\u5404\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306btests\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n  \u30fbvacancy \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3068urls.py\n  \u30fbapi \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbbuilding \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbdocuments \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbgarage \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fblib\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmenu \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmovie \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbpanorama \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbrent_db \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbroom \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbusers \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbviewer \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbstatic \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbtemplates \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n5) vacancy \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306evacancy \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3092\u4fee\u6b63\u3059\u308b\u3002\n  \u30fbSECRET_KEY='\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u305fSECRET_KEY'\n  \u30fbDEBUG=False\n  \u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a2d\u5b9a\n        HOST\u306f127.0.0.1\n        PASSWORD\u306f\u8a2d\u5b9a\u6e08\u307f\u306eyworks\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n6) media \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\u3002\n   # sudo su web\n   # cd ~\/html\/vacancy\n   # ln -s \/home\/web\/vacancy_data\/media media\n   # exit\n7) \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002\n   # sudo su -\n   # service gunicorn_vacancy stop\n       \u203b\u8b66\u544a\u304c\u51fa\u305f\u5834\u5408\u306f systemctl stop gunicorn_vacancy.socket\n   # service gunicorn_vacancy start\n   # service nginx restart\n8) SSH\u63a5\u7d9a\u3092exit\u3059\u308b\u3002\n9) \u30d6\u30e9\u30a6\u30b6\u3067\u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u8868\u793a\u3059\u308b\u3002\n     \u4f8b: http:\/\/vasyworks-list.yworks.net\/\n       \u203b\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u30b5\u30fc\u30d0\u3092\u518d\u8d77\u52d5\n10) \u7a7a\u5ba4\u60c5\u5831\u306e\u95b2\u89a7\u30e6\u30fc\u30b6\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3001\u8868\u793a\u3092\u78ba\u8a8d\u3059\u308b\u3002\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">6.VasyworksAPI\uff08\u7a7a\u5ba4\u60c5\u5831API\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1) web \u30e6\u30fc\u30b6\u3067\u30b5\u30fc\u30d0\u306bFTP\u63a5\u7d9a\u3059\u308b\u3002\n2) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\/html\/vacacancy_api\/ \u3092\u958b\u304f\n3) db.sqllite3 \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n4) vacancy_api \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e0b\u8a18\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3002\n  \u203b vacancy_api \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u306eSECRET_KEY\u306f\u30d5\u30a1\u30a4\u30eb\u30b3\u30d4\u30fc\u306e\u524d\u306b\u4fdd\u7ba1\u3057\u3066\u304a\u304f\u3002\n  \u203b \u672c\u7a3c\u50cd\u7528\u306e\u30b5\u30fc\u30d0\u306e\u5834\u5408\u3001\u5404\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306btests\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n  \u30fbvacancy_api \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3068urls.py\n  \u30fbbuilding \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbcommon \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbcompany \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbdocuments \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fblib\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmaster \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbrent_db \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbroom \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbsearch \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbusers \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbtemplates \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n5) vacancy_api \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306evacancy_api \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3092\u4fee\u6b63\u3059\u308b\u3002\n  \u30fbSECRET_KEY='\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u305fSECRET_KEY'\n  \u30fbDEBUG=False\n  \u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a2d\u5b9a\n        HOST\u306f127.0.0.1\n        PASSWORD\u306f\u8a2d\u5b9a\u6e08\u307f\u306eyworks\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n6) media \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\u3002\n   # sudo su web\n   # cd ~\/html\/vacancy_api\n   # ln -s \/home\/web\/vacancy_data\/media media\n   # exit\n7) \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002\n   # sudo su -\n   # service gunicorn_vacancy_api stop\n       \u203b\u8b66\u544a\u304c\u51fa\u305f\u5834\u5408\u306f systemctl stop gunicorn_vacancy_api.socket\n   # service gunicorn_vacancy_api start\n   # service nginx restart\n8) SSH\u63a5\u7d9a\u3092exit\u3059\u308b\u3002\n9) \u30d6\u30e9\u30a6\u30b6\u3067\u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u8868\u793a\u3059\u308b\u3002\n     \u4f8b: http:\/\/vasyworks-api.yworks.net\/\n       \u203b\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u30b5\u30fc\u30d0\u3092\u518d\u8d77\u52d5\n10) \u81ea\u793e\u306eAPI\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3001API\u306eURL\u3092\u76f4\u63a5\u5165\u529b\u3057\u3066\u8868\u793a\u3092\u78ba\u8a8d\u3059\u308b\u3002\n<\/code><\/pre>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<h2 class=\"has-large-font-size\">7.VasyworksSEARCH\uff08\u7a7a\u5ba4\u60c5\u5831\u691c\u7d22\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4<\/h2>\n<\/div><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>1) web \u30e6\u30fc\u30b6\u3067\u30b5\u30fc\u30d0\u306bFTP\u63a5\u7d9a\u3059\u308b\u3002\n2) web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\/html\/vacacancy_search\/ \u3092\u958b\u304f\n3) db.sqllite3 \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n4) vacancy_search \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e0b\u8a18\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3002\n  \u203b vacancy_search \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u306eSECRET_KEY\u306f\u30d5\u30a1\u30a4\u30eb\u30b3\u30d4\u30fc\u306e\u524d\u306b\u4fdd\u7ba1\u3057\u3066\u304a\u304f\u3002\n  \u203b \u672c\u7a3c\u50cd\u7528\u306e\u30b5\u30fc\u30d0\u306e\u5834\u5408\u3001\u5404\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306btests\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308c\u3070\u524a\u9664\u3059\u308b\u3002\n  \u30fbvacancy_search \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3068urls.py\n  \u30fbapi \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbbuilding \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbgarage \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fblib\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmenu \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbmovie \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbpanorama \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbrent_db \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbroom \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbsearch \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbsearch_map \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbusers \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066 \n  \u30fbviewer \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbstatic \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n  \u30fbtemplates \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5168\u3066\n5) vacancy_search \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306evacancy_search \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306esettings.py\u3092\u4fee\u6b63\u3059\u308b\u3002\n  \u30fbSECRET_KEY='\u4fdd\u7ba1\u3057\u3066\u304a\u3044\u305fSECRET_KEY'\n  \u30fbDEBUG=False\n  \u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a2d\u5b9a\n        HOST\u306f127.0.0.1\n        PASSWORD\u306f\u8a2d\u5b9a\u6e08\u307f\u306eyworks\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\n6) media \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\u3002\n   # sudo su web\n   # cd ~\/html\/vacancy_search\n   # ln -s \/home\/web\/vacancy_data\/media media\n   # exit\n7) \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002\n   # sudo su -\n   # service gunicorn_vacancy_search stop\n       \u203b\u8b66\u544a\u304c\u51fa\u305f\u5834\u5408\u306f systemctl stop gunicorn_vacancy_search.socket\n   # service gunicorn_vacancy_search start\n   # service nginx restart\n8) SSH\u63a5\u7d9a\u3092exit\u3059\u308b\u3002\n9) \u30d6\u30e9\u30a6\u30b6\u3067\u7ba1\u7406\u30b5\u30a4\u30c8\u3092\u8868\u793a\u3059\u308b\u3002\n     \u4f8b: http:\/\/vasyworks-search.yworks.net\/\n10) \u7a7a\u5ba4\u60c5\u5831\u306e\u95b2\u89a7\u30e6\u30fc\u30b6\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u3001\u8868\u793a\u3092\u78ba\u8a8d\u3059\u308b\u3002\n<\/code><\/pre>\n\n\n\n<h2 class=\"has-large-font-size\">8.\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u7528\u30c7\u30fc\u30bf\u306e\u6e96\u5099<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5404\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u5834\u5408\u306f\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306a\u624b\u9806\u3067\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u7528\u30c7\u30fc\u30bf\u3092\u7528\u610f\u3059\u308b\u3002\n\n1) GitHub\u306eVasyworksDB\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u3042\u308btest-data\u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3054\u3068\u3001 web \u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u3059\u308b\u3002\n2) \/home\/web\/test-data\/Media\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u3001private\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068public\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3001test_data\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3054\u3068\u3001\/home\/web\/vacancy_data\/\u306b\u30b3\u30d4\u30fc\u3059\u308b\u3002\n\n\u203b\u30c6\u30b9\u30c8\u7528\u306eMedia\u30d5\u30a1\u30a4\u30eb\u306e\u524a\u9664\u3084\u79fb\u52d5\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4\u3092\u884c\u3063\u305f\u5834\u5408\u3001\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u306b\u901a\u3089\u306a\u3044\u3082\u306e\u304c\u51fa\u3066\u304d\u307e\u3059\u306e\u3067\u3001\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3059\u308b\u969b\u306f\u90fd\u5ea6\u30013)\u30684)\u3092\u5b9f\u65bd\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\n3) psql\u3067rent_db\u306b\u63a5\u7d9a\u3059\u308b\u3002\n    # psql -h 127.0.0.1 -U yworks -d rent_db\n4) psql\u3067\u4e0b\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3002\n    rent_db=# \\cd \/home\/web\/test-data\/Sql\/Test\n    rent_db=# \\i prepare_test_data.sql\n    rent_db=# \\q\n\n\u203b\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u7528\u30c7\u30fc\u30bf\u306b\u30c7\u30fc\u30bf\u306e\u8ffd\u52a0\u3001\u524a\u9664\u3001\u5909\u66f4\u3092\u884c\u3063\u305f\u5834\u5408\u3001\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u306b\u901a\u3089\u306a\u3044\u3082\u306e\u304c\u51fa\u3066\u304d\u307e\u3059\u306e\u3067\u3001\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3059\u308b\u969b\u306f\u90fd\u5ea6\u30013)\u30684)\u3092\u5b9f\u65bd\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3053\u3067\u306f\u3001Ubuntu20.04\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u624b\u9806\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002 1.\u521d\u671f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb 2.Vasyworks\u7528\u306eWEB\u30b5\u30fc\u30d0\u8a2d\u5b9a 3.VasyworksDB\uff08\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u69cb\u7bc9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u306e\u30c7\u30d7\u30ed\u30a4 4.Vasy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":68,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/pages\/267"}],"collection":[{"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":33,"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/pages\/267\/revisions"}],"predecessor-version":[{"id":859,"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/pages\/267\/revisions\/859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/media\/68"}],"wp:attachment":[{"href":"https:\/\/vasyworks.yworks.net\/index.php\/wp-json\/wp\/v2\/media?parent=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}