Construção da plataforma CTFd (método de arquivo)

Registre os poços em que você pisou no processo de construção.
Não há servidor em nuvem, e eu o construí em uma máquina virtual. Usei Ubuntu16.04.7LTS para
visualizar a versão atual do comando: cat /etc/issue
Então descobri que minha máquina virtual pode para conectar-se à Internet. Tente novamente, escolha É o modo NAT.
Insira a descrição da imagem aqui
Observe que ele só pode ser alterado com direitos de administrador.

Você pode começar depois de se conectar à Internet
1. Fonte de atualização

sudo apt-get update

Pode ser relatado um erro ao atualizar a fonte.
Insira a descrição da imagem aqui
Esqueci de tirar a captura de tela sozinho. Use as fotos do blog on-line.
Nesse caso, a atualização falha porque o servidor dos EUA não pode ser conectado e o servidor de origem precisa ser definido como China nas configurações do sistema.
Insira a descrição da imagem aqui
Isso deve funcionar. Se acontecer de você encontrar o erro "Falha ao buscar 404 não encontrado", consulte o blog em https://www.cnblogs.com/wangshaowei/p/10994764.html e diga É porque todo A versão do Ubuntu tem um tempo de fim de vida (EOL). A distribuição regular do Ubuntu oferece 18 meses de suporte, enquanto a versão LTS (suporte de longo prazo) é de até 3 anos (versão para servidor) e 5 anos (desktop) versão). Quando uma determinada versão do Ubuntu chega ao fim do ciclo de vida, seu warehouse não pode mais ser acessado e você não pode mais obter atualizações de manutenção e patches de segurança da Canonical. Se o sistema Ubuntu que você está usando encerrou seu ciclo de vida, você obterá o seguinte erro 404 do apt-get ou aptitude porque seu warehouse foi abandonado.

A solução é substituir a fonte no caminho /etc/apt/sources.list pela fonte da versão antiga do repositório.

2. Instale o git, porque o código-fonte do CTFd e o tópico implantado são todos transmitidos por meio do github

sudo apt install git

3. Instale o pip

sudo apt install python-pip

Existem também alguns problemas ao instalar o pip. Se houver uma anormalidade, você pode atualizar o pip

sudo python -m pip install --upgrade pip

4. Instale o Flask, porque o CTFd é construído com base na estrutura do Flask, então você precisa instalar o Flask para construir o CTFd

sudo pip install Flask

5. Baixe CTFd

sudo git clone https://github.com/isislab/CTFd.git

6. Instale o CTFd

cd CTFd
sudo ./prepare.sh

Depois que o segundo comando for executado, você poderá encontrar avisos e erros. A seguir, uma introdução passo a passo de como resolver
Insira a descrição da imagem aqui
esse problema devido à versão Python. O Ubuntu vem com as versões 2.7 e 3.5 do Python e a versão 2 estará disponível em janeiro de 2020. A manutenção foi interrompida e as versões futuras do pip deixarão de ser compatíveis com o Python 2.7. Precisamos mudar a versão de 2 para 3.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

Podemos usar esses dois comandos para alterar 2 para 3 e
verificá-lo após a alteração

python --version

Este comando pode ver a versão atual do Pyhton, mas pode ser impreciso, porque pode ser exibido alterando o ponto, mas o ambiente não pode ser alterado para 3, e as variáveis ​​de ambiente estão relacionadas ao padrão e
podem ser determinadas visualizando o ambiente. O seguinte comando

env python

Se a versão exibida neste momento for 3, ela foi alterada com sucesso.
Em seguida, precisamos instalar seu pip para 3, caso contrário, aparecerá
/ usr / bin / python3: Nenhum módulo chamado pip
também aparecerá com esse erro.
Insira a descrição da imagem aqui
Faça o download e instalar pip O método é muito simples, basta fazer o download do site oficial na máquina virtual e instalar de acordo com as instruções. Observe que você deve usar o comando sudo, caso contrário, a instalação falhará se você não tiver permissão.

Pode haver tal aviso.
Insira a descrição da imagem aqui
Isso deve ser resolvido executando o seguinte comando

sudo chown -R root /home/$USERNAME/.cache/pip/
sudo chown -R root /home/$USERNAME/.cache/pip/http/

Em seguida, executamos o comando para instalar o CTFd e descobrimos que havia um novo erro
Insira a descrição da imagem aqui
. Depois de verificar o documento oficial do pydantic, descobrimos que também era devido ao problema da versão do Pyhton. Ele precisa de 3.6 e superior para ser capaz de suportá-lo . Python vem com a versão mais recente. Apenas 3.5, que requer a atualização
pode referir-se a este blog, o método é muito eficaz, mas também como fornecer após a instalação Python3.6 evitar colapso
https://segmentfault.com/a/1190000021838605
anexe capturas de tela para evitar falhas
Insira a descrição da imagem aqui
se não for cuidadoso, coloque o Ubuntu travado e a caixa de terminal não possa ser aberta. Você também pode consultar este blog
https://blog.csdn.net/DeepWolf/article/details/88800603

Este blog também apresenta o método de instalação do Python 3.6 e como mudar o ambiente. Você deve se lembrar de mudar o ambiente, caso contrário, você ainda não conseguirá ter sucesso.
https://blog.csdn.net/qq_32216809/article/details/86347926

Em seguida, execute o comando para instalar o CTFd e não deve haver nenhum problema

7. Execute o CTFd (a ser executado após o comando para abrir o arquivo CTFd (cd CTF))

sudo python serve.py

Visite 127.0.0.1:4000/ no navegador da máquina virtual e você poderá ver sua própria plataforma CTFd. A
Insira a descrição da imagem aqui
desvantagem é que sua velocidade de acesso é muito lenta ... Ainda não está claro como resolver. Este blog pode conseguir ajudar.
https://blog.csdn.net/weixin_43880435/article/details/107339592?utm_source=app

Se você deseja que ele seja acessado em uma máquina física, você precisa instalar o gunicorn e especificar a porta mapeada.
Eu tentei, mas falhei. Você pode tentar.

sudo pip install gunicorn
sudo gunicorn --bind 0.0.0.0:8000 -w 1 "CTFd:create_app()"
sudo pip install gunicorn

Em relação à velocidade lenta, você pode tentar este
https://blog.csdn.net/asd413850393/article/details/98123982

Bem, o que está acima é todo o processo de construção desta vez, encontrei muitos problemas, da próxima vez que tento construí-lo com o docker ~

Acho que você gosta

Origin blog.csdn.net/AlienEowynWan/article/details/108551745
Recomendado
Clasificación