Սկսենք Փայթոնական բաները տեղադրելով՝
pkg install -y py39-pip
Ապա տեղադրենք CTFd֊ն՝
root@ctfd0:~ # cd /usr/local/www/ root@ctfd0:/usr/local/www # git clone https://github.com/CTFd/CTFdCloning into 'CTFd'... remote: Enumerating objects: 14857, done. remote: Counting objects: 100% (94/94), done. remote: Compressing objects: 100% (54/54), done. remote: Total 14857 (delta 39), reused 73 (delta 34), pack-reused 14763 Receiving objects: 100% (14857/14857), 30.98 MiB | 16.73 MiB/s, done. Resolving deltas: 100% (9137/9137), done.
root@ctfd0:/usr/local/www # cd CTFd/
root@ctfd0:/usr/local/www/CTFd # pip install -r requirements.txt
Հիմա սպասում ենք Python֊ական dependency֊ները քաշի։
Մէկ էլ ասում ա՝
error: can't find Rust compiler
Օքեյ, դա էլ քաշենք՝
root@ctfd0:/usr/local/www/CTFd # pkg install -y rust
Նորից եմ աշխատեցնում pip install
֊ը եւ ստանում եմ՝
$ GOPATH=/tmp/tmplfo6wiyc go get -d error: [Errno 2] No such file or directory: 'go'
Օքեյ, հիմա էլ Go֊ն տեղադրենք՝
root@ctfd0:/usr/local/www/CTFd # pkg install -y go
Ու մի անգամ էլ pip install
աշխատեցնելուց յետոյ ամէն ինչ տեղակայուեց։
Սկսեմ կարգաւորել config.ini
ֆայլը։
Ահ, էստեղ գրած ա DATABASE_URL
, աչքիս մի հատ էլ MySQL֊ի համար Jail սարքեմ՝
root@console:~ # jailer create -n -t eb -a 10.0.0.15 mysql0
root@console:~ # jailer nat add -i vtnet0 mysql0
Ապա տեղադրեմ MariaDB՝
root@console:~ # jailer cons mysql0 root@mysql0:~ # pkg install -y mariadb106-server
Ու նաեւ կարգաւորեմ նոր օգտատէր՝
root@mysql0:~ # mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.6.11-MariaDB FreeBSD Ports Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. root@localhost [(none)]> create database ctfd; Query OK, 1 row affected (0.001 sec) root@localhost [(none)]> create user ctfd@10.0.0.10 IDENTIFIED VIA mysql_native_password USING PASSWORD(“REDACTED"); Query OK, 0 rows affected (0.004 sec) root@localhost [(none)]> grant all privileges on ctfd.* to ctfd@10.0.0.10 with grant option; Query OK, 0 rows affected (0.003 sec) root@localhost [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec)
Դէ փորձարկենք՝
root@console:~ # jailer cons ctfd0 root@ctfd0:~ # mysql -h 10.0.0.15 -u ctfd -p ctfd Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 12 Server version: 10.6.11-MariaDB FreeBSD Ports Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. ctfd@10.0.0.15 [ctfd]>
Թո՛յն։
Շարունակեմ մնացած կարգաւորումներն անել։
Երեւի կարելի է փորձել միացնե՞լ։ Տեսնենք՝
root@ctfd0:/usr/local/www/CTFd # python3.9 serve.py * Importing gevent and monkey patching. Use --disable-gevent to disable. Traceback (most recent call last): File "/usr/local/www/CTFd/serve.py", line 23, in app = create_app() File "/usr/local/www/CTFd/CTFd/__init__.py", line 199, in create_app url = create_database() File "/usr/local/www/CTFd/CTFd/utils/migrations/__init__.py", line 26, in create_database if not database_exists_util(url): File "/usr/local/lib/python3.9/site-packages/sqlalchemy_utils/functions/database.py", line 470, in database_exists engine = sa.create_engine(url) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/__init__.py", line 488, in create_engine return strategy.create(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/strategies.py", line 87, in create dbapi = dialect_cls.dbapi(**dbapi_args) File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 118, in dbapi return __import__("MySQLdb") ModuleNotFoundError: No module named 'MySQLdb'
Ահ, լաւ հեսա դա էլ տեղադրեմ՝
root@ctfd0:~ # pkg install -y py39-mysqlclient
ու մի հատ էլ ենք աշխատացնում ու տեսնում ենք՝
Ախ, վերջապէս (։
Ասանկ բաներ…