Dựng webserver trên macOS 15.2

Nội dung

    Phiên bản macOS mới từ 12 đã xóa hoàn toàn PHP khỏi hệ điều hành. Dùng Homebrew trên macOS để cài PHP. Homebrew là một trình quản lý gói phổ biến cho các hệ điều hành Mac. Nó rất hữu ích để cài đặt hầu hết các phần mềm mã nguồn mở như Node. Sử dụng lệnh brew, bạn có thể dễ dàng thêm chức năng mạnh mẽ vào máy Mac của mình, nhưng trước tiên chúng ta phải cài đặt nó.

    /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
    https://codewithkarani.com/2022/03/10/erpnext-error-after-install-127-0-0-1-does-not-exist/?srsltid=AfmBOop1GT1c2BKP2X6a9Kp1SMcFBu79h79mYoICletd46aLZBB8medf
    brew –version

    Có lẽ bạn cũng nên chạy lệnh sau để đảm bảo mọi thứ được định cấu hình chính xác:

    brew doctor
    Để nâng cấp các gói chỉ cần gõ:

    brew update
    brew upgrade

    (echo; echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘) >> ~/.zprofile
    eval “$(/opt/homebrew/bin/brew shellenv)”

    Thêm thư viện: brew install openssl

    Cài Apache

    Mặc dù macOS đi kèm với phiên bản Apache tích hợp sẵn, nhiều người dùng thích xóa phiên bản này và cài đặt phiên bản mới nhất thông qua Homebrew, một trình quản lý gói cho macOS.
    macOS đi kèm với một máy chủ Apache được cài đặt sẵn. Nếu bạn muốn cài đặt phiên bản Apache mới nhất, trước tiên bạn cần dừng và vô hiệu hóa phiên bản tích hợp này.

    1. Dừng máy chủ Apache: Mở thiết bị đầu cuối của bạn và nhập lệnh sau để dừng máy chủ Apache: sudo apachectl stop

    sudo apachectl -k stop

    1. Vô hiệu hóa Máy chủ Apache: Để vô hiệu hóa máy chủ tự động khởi động, hãy sử dụng lệnh sau:
      sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

    Cài đặt Apache bằng cách chạy:
    brew install httpd

    Sau khi cài đặt hoàn tất, bạn có thể khởi động Apache bằng cách gõ:
    sudo brew services start httpd

    Bạn đã cài đặt thành công máy chủ web Apache thông qua Homebrew và định cấu hình nó để tự động khởi động với tài khoản đặc quyền. hãy mở trình duyệt web của bạn và điều hướng đến http://localhost:8080. Bạn sẽ thấy một thông báo nói rằng “Nó hoạt động!”

    Nếu bạn nhận được thông báo rằng trình duyệt không thể kết nối với máy chủ, trước tiên hãy kiểm tra để đảm bảo máy chủ đã hoạt động.

    ps -aef | grep httpd

    Bạn có thể xem nhật ký lỗi Apache trong tab/cửa sổ Terminal mới trong quá trình khởi động lại để xem có bất kỳ điều gì không hợp lệ hoặc gây ra sự cố hay không:

    tail -f /opt/homebrew/var/log/httpd/error_log

    Bạn sẽ thấy một vài quy trình httpd nếu Apache đang hoạt động.
    brew services stop httpd
    brew services start httpd
    brew services restart httpd
    Kiểm tra trạng thái dịch vụ Apache: Để kiểm tra trạng thái của dịch vụ Apache, bạn có thể sử dụng lệnh này:
    brew services list
    Lệnh này sẽ liệt kê tất cả các dịch vụ được quản lý bởi Homebrew cùng với trạng thái của họ. Tìm httpd trong danh sách này để kiểm tra trạng thái của nó.

    Cấu hình Apache

    Hãy nhớ rằng, mỗi khi bạn thực hiện thay đổi đối với tệp cấu hình Apache, bạn cần khởi động lại dịch vụ để các thay đổi có hiệu lực.
    Bây giờ bạn sẽ muốn thực hiện một số thay đổi cấu hình theo môi trường phát triển cục bộ của bạn.

    code /opt/homebrew/etc/httpd/httpd.conf

    nếu dùng default TextEditor dùng lệnh open -e panh.

    Đặt cổng Apache: Phiên bản httpd của Homebrew sử dụng cổng 8080. Bạn phải thay đổi thủ công cổng nghe từ cổng 8080 mặc định sang cổng 80 tiêu chuẩn.
    Tìm dòng có nội dung
    Listen 8080
    và thay đổi nó thành 80:
    Listen 80

    Bây giờ, thay đổi gốc tài liệu cho Apache. Đây là thư mục mà Apache tìm cách phục vụ tệp từ đó. Theo mặc định, thư mục gốc tài liệu được định cấu hình là /opt/homebrew/var/www. Vì đây là một máy phát triển, hãy giả sử chúng ta muốn thay đổi thư mục gốc tài liệu để trỏ đến một thư mục trong thư mục chính của chúng ta.
    Tìm vả thay thành mặc định /opt/homebrew/var/www:
    DocumentRoot “/Users/minhtoan/Sites”
    Bạn cũng cần thay đổi thẻ được định cấu hình ngay bên dưới dòng DocumentRoot.
    <Directory “/Users/your_user/Sites”>

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride all

    Ngoài ra, bạn nên bật mô-đun mod_rewrite bằng cách xóa biểu tượng # đứng đầu khỏi dòng sau. Tìm kiếm dòng và cập nhật nó. điều này sẽ cho phép viết lại URL trên Apache.
    LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

    Vì bạn đã định cấu hình thư mục gốc tài liệu Apache vào thư mục chính của mình. Bạn sẽ gặp sự cố với các quyền vì theo mặc định, Apache chạy dưới dạng trình nền người dùng và trình nền nhóm (Có thể tên người dùng và nhóm là _www). Đối với các hệ thống cá nhân, Bạn có thể thay đổi chúng để khớp với tài khoản người dùng của mình (thay thế user_name bằng tên người dùng thực của bạn), với một nhóm nhân viên.
    User user_name
    Group staff
    Khởi động lại apache để đảm bảo các thay đổi cấu hình của bạn đã có hiệu lực:
    sudo apachectl -k restart
    Apache thích có tên máy chủ trong cấu hình, nhưng điều này bị tắt theo mặc định, vì vậy hãy tìm kiếm:
    #ServerName www.example.com:8080
    và thay thế nó bằng:
    ServerName localhost
    Tạo trang web xem thử:
    mkdir ~/Sites
    echo ” h1>My User Web Root /h1>” > ~/Sites/index.html

    Bây giờ, trỏ trình duyệt của bạn đến http://localhost, Điều này sẽ hiển thị index.html mới được tạo của bạn. Tất cả đã xong.
    Nếu bạn nhận được lỗi khi khởi động lại Apache, hãy thử xóa các dấu ngoặc kép xung quanh các chỉ định DocumentRoot và Directory mà chúng tôi đã thiết lập trước đó.
    xóa tất cả các tệp nhật ký httpd nhật ký hiện tại: rm -Rf /opt/homebrew/var/log/httpd/*

    Apache 2 as Reverse Proxy

    TÌm path config apache2
    ps -ef | grep httpd
    Bỏ dấu # cho những dòng trong file /opt/homebrew/etc/httpd/httpd.conf
    LoadModule xml2enc_module modules/mod_xml2enc.so
    LoadModule proxy_html_module modules/mod_proxy_html.so
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

    Include /private/etc/apache2/extra/httpd-vhosts.conf
    LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
    Qua file /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf
    chỉnh nội dung ví dụ:
    <VirtualHost *:80>
    ServerName example.domain.com
    ServerAlias example.domain.com
    ProxyRequests Off
    <Proxy *>
    Require all granted
    </Proxy>
    ProxyPass / http://example.domain.com:8069/
    ProxyPassReverse / http://example.domain.com:80>
    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
    <Location />
    Require all granted
    </Location>
    </VirtualHost>

    VirtualHost *:8080 và Listen 8080 phải giống nhau.

    Hay như xem https://kcntt.duytan.edu.vn/uploads/6847dd74-a8f8-4bbb-8b82-430a56fecf58_vhostonmacos.pdf:

    ServerName apple.com
    ServerAlias www.apple.com
    DocumentRoot “/Users/USERNAME/Sites/apple”
    ErrorLog “/private/var/log/apache2/apple.com-error_log”
    CustomLog “/private/var/log/apache2/apple.com-access_log” common ServerAdmin web@apple.com

    LoadModule ssl_module modules/mod_ssl.so

    Shown in context, my http-vhosts.conf file looked like this:

    Listen *:443
    NameVirtualHost *:80
    NameVirtualHost *:443

    <VirtualHost *:80>
       DocumentRoot "/Library/WebServer/Documents"
       ServerName localhost
    </VirtualHost>
    
    <VirtualHost *:80>
       DocumentRoot "/Users/me/Sites/testsite.com
       ServerName testsite.dev
    </VirtualHost>
    
    <VirtualHost *:443>
       SSLEngine on
       SSLCertificateFile /private/etc/apache2/ssl/server.crt
       SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
       DocumentRoot "/Users/me/Sites/testsite2.com"
       ServerName testsite2.dev
    </VirtualHost>

    sudo apachectl -k restart

    brew services restart httpd

    brew services

    Gỡ cài đặt Apache HTTP Server được cài đặt thông qua Homebrew

    bạn có thể dễ dàng thực hiện bằng cách làm theo các bước sau:
    Dừng dịch vụ Apache: Trước khi gỡ cài đặt, bạn cần dừng dịch vụ Apache nếu nó hiện đang chạy. Bạn có thể làm điều này bằng cách gõ: brew services stop httpd
    Gỡ cài đặt Apache: Sau khi dừng dịch vụ, bạn có thể gỡ cài đặt Apache bằng cách chạy:
    brew uninstall httpd
    Xác minh gỡ cài đặt: Để xác minh rằng Apache đã được gỡ cài đặt, bạn có thể thử điều hướng đến http://localhost (hoặc http://localhost:8080 nếu bạn không thay đổi cổng mặc định) trong trình duyệt web của mình. Bạn sẽ không còn thấy “Nó hoạt động!” thông điệp.
    Xin lưu ý rằng việc gỡ cài đặt Apache thông qua Homebrew sẽ không tự động xóa các tệp cấu hình nằm trong /usr/local/etc/httpd/. Nếu bạn muốn xóa hoàn toàn tất cả các dấu vết của Apache, bạn sẽ cần xóa thư mục này theo cách thủ công.

    Edit code Visual Studio

    Mặc định dùng TextEdit không hữu ích khi dùng Visual Studio Code miễn phí trên Mac, Windows, and Linux
    brew install –cask visual-studio-code
    Nếu bạn đã cài đặt Visual Studio Code, bạn có thể dễ dàng tạo một liên kết mã tượng trưng với: ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /opt/homebrew/bin/code

    Cài PHP

    PHP 8.3 ổn định mới nhất mới được Brew chính thức hỗ trợ và phải được xây dựng từ nguồn khá chậm: brew install php
    brew install php@8.3
    Chúng tôi đã cài đặt nhưng không liên kết các phiên bản PHP này.
    brew unlink php && brew link –overwrite –force php@8.3

    Kiểm tra: php -v
    php -m xem các module cài vô.
    Một điều phổ biến cần thay đổi là cài đặt bộ nhớ hoặc cấu hình date.timezone. Các tệp php.ini được đặt trong thư mục /opt/homebrew/etc/php/8.3/php.ini

    Một bước bổ sung là cần thiết cho PHP 8 và macOS đi kèm Apache:

    sudo nano /etc/apache2/httpd.conf
    /opt/homebrew/etc/httpd/httpd.conf
    Sau đoạn
    LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

    thêm dòng này vô
    LoadModule php_module /opt/homebrew/opt/php@8.3/lib/httpd/modules/libphp.so

    Ngoài ra, bạn phải đặt Chỉ mục Thư mục cho PHP một cách rõ ràng, vì vậy hãy tìm kiếm khối này:

    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>

    và thay thế nó bằng cái này:

    <IfModule dir_module>
    DirectoryIndex index.php index.html
    </IfModule>

    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
    </FilesMatch>

    Lưu tệp và dừng Apache sau đó bắt đầu lại, bây giờ chúng ta đã cài đặt PHP:

    brew services stop httpd
    brew services start httpd

    kiểm tra xem PHP có được cài đặt và chạy echo “<?php phpinfo();” > ~/Sites/info.php

    ERPNext trên MacOS

    do nhiều yêu cầu thư viện python nên thiết lập môi trường ảo lên

    hãy làm theo các bước sau:

    Mở cửa sổ Terminal.

    python3 -m pip install virtualenv

    Điều hướng đến nơi chứa thư mục gốc của môi trường ảo của bạn.

    python3 -m venv myenv

    Chạy chong lệnh này sẽ thấy ở thư mục hiện tại xuất hiện thêm một thư mục myenv. kích hoạt môi trường ảo lên bằng lệnh:

    source myenv/bin/activate

    Bây giờ thì các bạn có thể tha hồ cài cắm bằng lệnh pip install quen thuộc rồi. Thích cài gì thì cài, thích cắm gì thì cắm và nếu lỗi thì chỉ cần xoá béng cái thư mục myenv đi và tạo lại.

    thoát khỏi môi trường ảo

    deactivate

    Hủy kích hoạt môi trường ảo trên macOS và Linux, một số điều quan trọng bạn nên làm để đảm bảo môi trường của bạn luôn sạch sẽ và ngăn nắp trước khi ra ngoài:

    pip list

    pip uninstall package-name

    Nếu muốn lưu các yêu cầu để có thể dễ dàng tạo lại môi trường trong tương lai. pip freeze > requirements.txt

    Trước khi thoát khỏi môi trường ảo, hãy xóa mọi tệp tạm thời

    python -c “import tempfile, shutil; shutil.rmtree(tempfile.gettempdir())”

    Vô hiệu hóa môi trường ảo trên Windows bằng lệnh sau

    scripts\deactivate

    Vô hiệu hóa môi trường ảo trên macOS hoặc Linux bằng lệnh sau:

    source bin/deactivate

    Nếu bạn không còn cần môi trường ảo nữa, bạn có thể xóa nó để giải phóng dung lượng đĩa. Để xóa môi trường ảo, chỉ cần điều hướng đến thư mục chứa môi trường và xóa toàn bộ thư mục.

    hãy làm theo các bước sau:

    1. Mở cửa sổ Terminal.
    2. Điều hướng đến thư mục gốc của môi trường ảo của bạn
    3. Chạysource bin/deactivate
    4. Nó sẽ vô hiệu hóa môi trường ảo Python trên macOS.

    Yêu cầu cài:
    Python > 3.6+
    Homebrew >3.6+
    Node.js 14
    Redis 5 (caching and real time updates)
    MariaDB (to run database driven apps)
    yarn 1.12+ (js dependency manager)
    pip 20+
    https://dev.to/ahmadfarazcrypto/erpnext-installation-guide-mac-1p79
    Đầu tiên, Git là hệ thống kiểm soát phiên bản được sử dụng phổ biến nhất. Git theo dõi các thay đổi bạn thực hiện đối với các tệp, vì vậy bạn có bản ghi về những gì đã được thực hiện và bạn có thể hoàn nguyên về các phiên bản cụ thể nếu cần. Git cũng giúp việc cộng tác dễ dàng hơn, cho phép các thay đổi của nhiều người được hợp nhất thành một nguồn.

    brew install git
    Cài đặt setuptools và pip (Python’s Package Manager). Setuptools là một tập hợp các cải tiến cho Python distutils cho phép các nhà phát triển xây dựng và phân phối các gói Python dễ dàng hơn, đặc biệt là những gói có phụ thuộc vào các gói khác. Các gói được xây dựng và phân phối bằng cách sử dụng công cụ thiết lập trông giống như các gói Python thông thường dựa trên distutils. pip là một trình quản lý gói cho Python. Đó là một công cụ cho phép bạn cài đặt và quản lý các thư viện và phụ thuộc bổ sung không được phân phối như một phần của thư viện tiêu chuẩn.

    sudo pip3 install setuptools
    Cài đặt virtualenv. virtualenv là một công cụ để tạo các môi trường Python bị cô lập có chứa bản sao python, pip và nơi riêng của chúng để giữ các thư viện được cài đặt từ PyPI. Nó được thiết kế để cho phép bạn làm việc trên nhiều dự án với các phụ thuộc khác nhau cùng một lúc trên cùng một máy.

    sudo pip3 install virtualenv
    Cài đặt MariaDB. MariaDB được phát triển dưới dạng phần mềm mã nguồn mở và là cơ sở dữ liệu quan hệ, nó cung cấp giao diện SQL để truy cập dữ liệu.
    /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
    brew install mariadb
    mysql_install_db
    mariadb-secure-installation
    mariadb -u root -p
    Trong quá trình cài đặt này, bạn sẽ được nhắc đặt mật khẩu root MySQL. Nếu bạn không được nhắc như vậy Bạn có thể khởi tạo thiết lập máy chủ MySQL bằng cách thực hiện lệnh sau: sudo mysql_secure_installation

    Các tệp phát triển cơ sở dữ liệu MySQL: brew install mysql-client
    Chỉnh sửa cấu hình mariadb (mã hóa ký tự unicode)
    sudo nano /opt/homebrew/mariadb/my.cnf
    thêm cái này vào tập tin my.cnf

    [mysqld] character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci

    [mysql] default-character-set = utf8mb4
    Bây giờ nhấn (Ctrl-X) để thoát

    brew services start mariadb

    Cài đặt Redis. Redis là một mã nguồn mở (được cấp phép BSD), kho lưu trữ cấu trúc dữ liệu trong bộ nhớ, được sử dụng làm cơ sở dữ liệu, bộ nhớ đệm và môi giới tin nhắn.

    brew install redis
    Cài đặt Node.js 14. package X

    Node.js là một môi trường thời gian chạy đa nền tảng, mã nguồn mở để phát triển các ứng dụng mạng và phía máy chủ. Các ứng dụng Node.js được viết bằng JavaScript và có thể chạy trong thời gian chạy Node.js trên OS X, Microsoft Windows và Linux.

    brew install node
    Đây sẽ là phiên bản mới nhất của Node.

    Nếu bạn muốn thay đổi phiên bản nút, bạn có thể sử dụng NVM.

    How to Install and Configure NVM on macOS


    BƯỚC 10 cài đặt Yarn

    Yarn là một trình quản lý gói JavaScript nhằm mục đích nhanh chóng, xác định và an toàn. Hãy xem việc thả sợi ở nơi bạn đã sử dụng npm trước đây dễ dàng như thế nào và nhận được cài đặt nhanh hơn, đáng tin cậy hơn. Yarn là một trình quản lý gói cho JavaScript.

    sudo npm install -g yarn
    BƯỚC 11 cài đặt wkhtmltopdf

    Wkhtmltopdf là một tiện ích shell dòng lệnh mã nguồn mở đơn giản và hiệu quả hơn nhiều cho phép người dùng chuyển đổi bất kỳ HTML (Trang Web) nào sang tài liệu PDF hoặc hình ảnh (jpg, png, v.v.)

    brew install wkhtmltopdf
    BƯỚC 12 cài đặt frappe-bench

    sudo -H pip3 install frappe-bench
    QUAN TRỌNG: bạn có thể muốn đăng xuất và đăng nhập lại vào thiết bị đầu cuối của mình trước bước tiếp theo và Bạn phải đăng nhập.

    bench –version
    BƯỚC 13 khởi tạo băng ghế frappe & cài đặt frappe phiên bản mới nhất

    bench init frappe-bench –frappe-branch version-13

    cd frappe-bench/
    bench start
    STEP 14 create a site in frappe bench
    bench new-site site1.local
    LƯU Ý: Nếu bạn gặp phải loại vấn đề này.

    For key collation_server. Expected value utf8mb4_unicode_ci, found value utf8mb4_general_ci
    ================================================================================
    Creation of your site – site11.locale failed because MariaDB is not properly
    configured. If using version 10.2.x or earlier, make sure you use the
    the Barracuda storage engine.
    Please verify the settings above in MariaDB’s my.cnf. Restart MariaDB. And
    then run `bench new-site site1.locale` again.
    sau đó bạn phải vào mariadb shell và chạy các lệnh này

    SET GLOBAL collation_server = ‘utf8mb4_unicode_ci’;
    và khởi động lại mariadb

    brew services restart mariadb
    BƯỚC 15 cài đặt ERPNext phiên bản mới nhất trong băng ghế dự bị & trang web

    bench get-app erpnext –branch version-13
    ###OR
    bench get-app https://github.com/frappe/erpnext –branch version-13

    bench –site site1.local install-app erpnext

    bench –site site1.local add-to-hosts

    bench start

    Máy chủ của bạn sẽ chạy trên máy chủ này

    http://site1.local:8000/

    Lỗi 404 sau khi cài đặt do chưa chỉ web nào là default site. thiếu file currentsite.txt. dùng câu lệnh như sau

    bench use [your-site]

    thêm tên site vào hosts dùng lệnh: bench –site [your-site] add-to-hosts

    | $ bench start

    dùng tên site hoặc ip vô [your-site]:[port-number]

     

    NextCloud cài trên máy MacOS

    Cần điều chỉnh php: nano /opt/homebrew/etc/php/8.3/php.ini

    max_execution_time = 300
    memory_limit = 512M
    post_max_size = 128M
    upload_max_filesize = 128M

    khởi dộng lại:

    brew services restart php@8.3

    xem trạng thái nơi lưu trữ dữ liệu

    Như MariaDB

    brew services mariadb status

    Cài mới thì: brew install mariadb@10.6

    thêm vào $PATH:

    echo ‘export PATH=”/opt/homebrew/opt/mariadb@10.6/bin:$PATH”‘ >> ~/.zshrc

    Để bảo mật cài đặt MariaDB của bạn, hãy đặt mật khẩu root.

    sudo /opt/homebrew/opt/mariadb@10.6/bin/mysqladmin -u root password $NEW_PASSWORD

    Đảm bảo MariaDB sử dụng các bộ ký tự thích hợp.

    Thêm các cấu hình sau vào:

    [mysqld] character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    bind-address = 127.0.0.1

    [mysql] default-character-set = utf8mb4

    Khởi động lại: brew services restart mariadb@10.6

    Nếu không thì dùng MySQL.

    https://lipn.univ-paris13.fr/~cerin/HDU/nextcloud.html

    MySQL

    Cài mới: $ brew install mysql

    Chạy MySQL
    $ brew services start mysql

    Khai báo như cả hai MySQL và mariadb

    sudo mysql_secure_installation
    Tập lệnh này sẽ đặt mật khẩu root, xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa và xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào MariaDB an toàn như hình dưới đây:
    Đầu tiên n
    Set root password? [Y/n] y
    Remove anonymous users? [Y/n] y
    Disallow root login remotely? [Y/n] y
    Remove test database and access to it? [Y/n] y
    Reload privilege tables now? [Y/n] y

    Khởi động services mysql:
    brew services start|stop|restart mysql.

    Rồi bây giờ vô thực hiện tạo database: mysql -u root -p

    Tiếp theo tạo cơ sở dữ liệu cho Next Cloud và gán cho 1 user khác.

    CREATE DATABASE nextclouddb;
    GRANT ALL ON nextclouddb.* TO ‘nextcloud_user’@’localhost’ IDENTIFIED BY ‘strong password’;
    FLUSH PRIVILEGES;
    EXIT;

    Thử xem bằng cách dùng code sau vào file index.php và truy cập http://localhost/index.php

    Nội dung xem ở trang https://lipn.univ-paris13.fr/~cerin/HDU/nextcloud.html

    Tiếp đến, download Nextcloud trên server, bún nén vào thư mục Sites. Dùng lệnh pwd xem chi tiết đường dẫn

    Thay đổi quyền:

    chown -R YOUR_NAME:staff /usr/local/var/www/nextcloud

    Nếu không, bạn sẽ gặp lỗi vì các quyền không chính xác. Để kiểm tra lỗi, bạn có thể kiểm tra các tệp /usr/local/var/log/httpd/access_log /usr/local/var/log/httpd/error_log và /usr/local/var/www/nextcloud/data/nextcloud.log.

    Cài richdocumentscode_arm64, app office cần load libfuse.so, libfontconfig.so trong httpd.config, cấu hình thêm /tmp.

    brew install libfuse

    brew install fontconfig

    • Nền tảng chạy Linux x86-64 hoặc ARM64 (aarch64)

    Xem hướng dẫn tại https://docs.nextcloud.com/server/29/Nextcloud_Server_Administration_Manual.pdf

    Cho phép máy chủ sử dụng các địa chỉ cục bộ, ví dụ như trong các chia sẻ liên kết, dịch vụ webcal, v.v. Mặc định là false`. Thêm vào config.php

    ‘allow_local_remote_servers’ => true,

    Thêm app External storage

    External storage support: Ứng dụng này cho phép quản trị viên cấu hình kết nối đến các lưu trữ ngoài, chẳng hạn như máy chủ FTP, S3 hoặc SWIFT, các máy chủ Nextcloud khác, máy chủ WebDAV, v.v. Quản trị viên có thể chọn loại lưu trữ nào để bật và có thể gắn các vị trí lưu trữ này cho một tài khoản, một nhóm hoặc toàn bộ hệ thống. Người dùng sẽ thấy một thư mục mới xuất hiện trong thư mục Nextcloud gốc của họ, họ có thể truy cập và sử dụng thư mục này giống như bất kỳ thư mục Nextcloud nào khác. Lưu trữ ngoài cũng cho phép mọi người chia sẻ các tệp được lưu trữ trong các vị trí ngoài này. Trong những trường hợp này, thông tin xác thực của chủ sở hữu tệp được sử dụng khi người nhận yêu cầu tệp từ lưu trữ ngoài, do đó đảm bảo rằng người nhận có thể truy cập tệp được chia sẻ. Lưu trữ ngoài có thể được cấu hình bằng GUI hoặc tại dòng lệnh. Tùy chọn thứ hai này cung cấp cho quản trị viên tính linh hoạt hơn để cấu hình các điểm gắn lưu trữ ngoài hàng loạt và thiết lập các ưu tiên gắn kết. Thông tin chi tiết hơn có sẵn trong tài liệu GUI lưu trữ ngoài và tài liệu Tệp cấu hình lưu trữ ngoài.

    Xuất hiện lỗi“smbclient” is not installed. Mounting of “SMB / CIFS”, “SMB / CIFS using OC login”

    Cài vô bằng câu lệnh: brew install samba

    Sau đó: brew list –versions samba

    và smbutil statshares -a

    Load lại trang nextcloud.

     

    Noip

    https://www.noip.com/support/knowledgebase/installing-the-dynamic-update-client-on-a-mac

    https://developers.cloudflare.com/dns/manage-dns-records/how-to/managing-dynamic-ip-addresses/

    https://gist.github.com/tehpeh/11274305

     

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *