วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
LLVM เป็นโครงสร้างพื้นฐานคอมไพเลอร์โอเพนซอร์ส LLVM เริ่มต้นในปี 2000 และได้รับการใช้อย่างกว้างขวางและแก้ไขโดย Apple ตั้งแต่ปี 2005 เสียงดังกราวคือ C, C ++, Objective-C และ Objective-C ++ คอมไพเลอร์ที่ทำงานร่วมกับระบบ LLVM Clang เริ่มต้นขึ้นในปี 2007 โดย Apple และตั้งแต่นั้นมา Google และ Intel ก็มีส่วนร่วมในการพัฒนาอย่างต่อเนื่อง
นักพัฒนาของ Clang อ้างว่าเมื่อเทียบกับ GCC มันจะรวบรวมได้เร็วขึ้นใช้หน่วยความจำน้อยกว่าให้การวินิจฉัยที่เป็นมิตรกับผู้ใช้มากขึ้นในระหว่างการรวบรวมและเข้ากันได้กับ GCC
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL มุ่งมั่นที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่เร่งด่วนที่จะรวมทุกสิ่งที่เป็นเวอร์ชั่นล่าสุด
จากการเขียนบทความนี้ CentOS 6 จัดจำหน่าย LLVM & Clang v3.4.2 อย่างเป็นทางการ อย่างไรก็ตาม Clang v3.6 นั้นเปิดตัวแล้ว
คำแนะนำอย่างเป็นทางการคือถ้าคุณต้องการ LLVM & Clang รุ่นใหม่กว่าคุณควรพิจารณาการกระจาย UNIX ที่แตกต่างกันซึ่งเน้นการสนับสนุนแพ็คเกจซอฟต์แวร์รุ่นล่าสุด
โชคดีที่คุณสามารถติดตั้ง LLVM & Clang GCC เวอร์ชันล่าสุดบน CentOS สิ่งนี้เบี่ยงเบนไปจากการใช้ซอฟต์แวร์ที่เผยแพร่อย่างเป็นทางการ แต่บางครั้งคุณอาจรู้สึกว่าคุณมีทางเลือกน้อย
บทความนี้อธิบายวิธีติดตั้ง LLVM & Clang เวอร์ชัน CentOS 6 อย่างเป็นทางการและวิธีการติดตั้งเวอร์ชันที่ใหม่กว่า บทความนี้จะถือว่าคุณมี CentOS 6 VPS ที่ติดตั้งใหม่ แต่คุณสามารถปฏิบัติตามคำแนะนำใน VPS ที่คุณใช้อยู่
เสียงดังกราวเป็นส่วนใหญ่ที่เป็นอิสระจาก GCC แต่เป็นของการเขียนบทความนี้เสียงดังกราวยังคงใช้ห้องสมุดที่ใช้ร่วมกันหลายติดตั้งโดย GCC (กล่าวคือcrtbegin.o
, gcc
และgcc_s
) หากคุณติดตั้ง LLVM & Clang บน CentOS 6 คุณจะไม่สามารถรวบรวมอะไรได้หากคุณไม่มี GCC ในระบบของคุณสำหรับไลบรารีที่แชร์เหล่านี้ ตามหลักการแล้ว yum จะมีการพึ่งพาแพ็กเกจสำหรับเสียงดังกราวของ gcc และ gcc-c ++ แต่เมื่อเขียนบทความนี้แล้ว yum ไม่รู้จักการพึ่งพา
นอกจากนี้การสร้าง LLVM & Clang เวอร์ชันใหม่กว่าต้องใช้ G ++ v4.7 + ซึ่งคุณสามารถใช้งานได้บน CentOS 6 เท่านั้นโดยติดตั้งตามแหล่งที่มา
หากคุณทำตามขั้นตอนทั้งหมดด้านล่างนี้คุณจะจบลงด้วย GCC 2 รุ่นและ LLVM & Clang 2 เวอร์ชัน ซึ่งรวมถึงไบนารีรุ่นเก่าที่ได้รับการสนับสนุนอย่างเป็นทางการและรุ่นใหม่กว่าจากแหล่งที่มาสำหรับแต่ละโปรแกรม อย่างไรก็ตามไม่จำเป็นต้องเรียกใช้ขั้นตอนทั้งหมดด้านล่าง คุณสามารถตัดสินใจได้ว่าคุณต้องการ LLVM & Clang ไบนารีรุ่นเก่าที่ได้รับการสนับสนุนอย่างเป็นทางการหรือรุ่นที่ใหม่กว่าจากแหล่งที่มาหรือไม่และเรียกใช้ส่วนใดของคำแนะนำที่เหมาะกับการตัดสินใจของคุณ
สิ่งสำคัญ! ขั้นแรกให้ติดตั้ง GCC รุ่นที่ได้รับการสนับสนุนอย่างเป็นทางการ (เก่ากว่า) โดยทำตามขั้นตอนในบทความวิธีติดตั้ง GCC บน CentOS 6 - คุณไม่จำเป็นต้องทำตามขั้นตอนภายใต้หัวข้อของบทความ "ติดตั้ง GCC เวอร์ชันใหม่จากแหล่งที่มา "
ติดตั้ง LLVM & Clang
sudo yum install clang
--- This will bring in llvm as a dependency
ตรวจสอบเวอร์ชั่นที่ติดตั้งและดูตำแหน่งของพวกเขา
clang --version
May say: clang version 3.4.2 (tags/RELEASE_34/dot2-final)
which clang
/usr/bin/clang
gcc --version
May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
g++ --version
May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
ในการสร้าง LLVM & Clang ตามแหล่งที่มาบน CentOS คุณต้องมี GCC v4.7 หรือสูงกว่า CentOS 6 ไม่มีเวอร์ชันสูงใน yum ดังนั้นก่อนอื่นคุณต้องติดตั้ง GCC ล่าสุดจากแหล่งที่มา
สิ่งสำคัญ! ขั้นแรกให้ติดตั้ง GCC รุ่นใหม่กว่าจากแหล่งโดยทำตามขั้นตอนในบทความวิธีการติดตั้ง GCC บน CentOS 6 - คุณจำเป็นต้องทำตามขั้นตอนทั้งหมดในบทความนั้นรวมถึงภายใต้หัวข้อ "ติดตั้ง GCC เวอร์ชันใหม่จาก แหล่งที่มา"
ติดตั้งแพ็คเกจที่จำเป็นเพิ่มเติม
sudo yum install cmake
ติดตั้ง Python เวอร์ชันใหม่ LLVM & Clang v3.6.0 ต้องการ Python v2.7 + แต่ที่เก็บ CentOS 6 yum มี Python v2.6.6 เท่านั้น
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xvf Python-2.7.9.tgz
cd Python-2.7.9
./configure && make && sudo make install
ตัดสินใจเลือกเวอร์ชั่นของ LLVM & Clang ที่คุณต้องการ คำสั่งนี้จะแสดง "แท็ก" สำหรับเวอร์ชันที่มีให้
svn ls http://llvm.org/svn/llvm-project/llvm/tags | grep RELEASE
RELEASE_1/
...
RELEASE_352/
RELEASE_360/
RELEASE_361/
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361
rc1/
--- At this time, there is no final, just a release candidate. You could certainly use a release candidate, but this article will show how to use a final release.
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360
final/
rc1/
rc2/
rc3/
rc4/
รับแหล่งที่มาของเวอร์ชันของ LLVM & Clang ที่คุณต้องการ การดำเนินการนี้จะใช้เวลาสองสามนาที ส่วนที่เหลือของบทความนี้เขียนขึ้นเพื่อRELEASE_360/
และจะดาวน์โหลดแหล่งที่มาลงใน~/sourceInstallations/llvm_RELEASE_360/
- คุณจะต้องแทนที่แท็กที่เหมาะสมเพื่อให้พอดีกับรุ่นในอนาคต ไดเรกทอรีด้านล่างของcompiler-rt
, libcxx
และlibcxxabi
ไม่จำเป็นอย่างยิ่ง แต่มีคุณสมบัติบางอย่างที่ LLVM & Clang มีซึ่ง GCC ไม่มีอยู่ดังนั้นจะรวมอยู่ในบทความนี้ มี "โครงการย่อย" อื่น ๆ ของ LLVM ที่คุณสามารถเลือกใช้เช่น dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode และ lld คุณสามารถอ่านข้อมูลเกี่ยวกับผู้ที่อยู่ในเว็บไซต์ LLVM
cd ~/sourceInstallations
svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final llvm_RELEASE_360
cd llvm_RELEASE_360/tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_360/final compiler-rt
svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_360/final libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_360/final libcxxabi
cd ..
svn update
At revision X.
--- Hopefully this outputs one line saying "At revision X", but numbers instead of "X". If it downloads more source files, a new revision was released while you were downloading the source code. This is highly unlikely unless you're using trunk (the most up to date, maybe unstable code.) But, if this happens, perform a svn update in the tools/clang, projects/compiler-rt, projects/libcxx, projects/libcxxabi, and again ~/sourceInstallations/llvm_RELEASE_360, until you are fully up to date.
สร้าง LLVM และเสียงดังกราว สิ่งนี้จะทำงานชั่วขณะหนึ่ง หากสิ่งนี้เสร็จสิ้นอย่างถูกต้องบรรทัดสุดท้ายที่คุณจะเห็นจะพูดว่า "สำเร็จ" เป็นเรื่องปกติที่จะเห็นข้อความแสดงข้อผิดพลาดเลื่อนขึ้นอย่างรวดเร็ว เป็นความคิดที่ดีที่จะสร้างสิ่งต่าง ๆ ในสารบบที่แตกต่างจากสารบบ
mkdir ../llvm_RELEASE_360_build
cd ../llvm_RELEASE_360_build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm_RELEASE_360 && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- If you omit -DCMAKE_BUILD_TYPE=Release, the build defaults to debug. This is great if you need to debug LLVM & Clang itself, but slows down compilation of your end programs considerably.
--- If you omit the references to gcc and g++, it will default to using the older binary versions in /usr/bin/, and will not compile.
ตรวจสอบเวอร์ชั่นที่ติดตั้งและดูตำแหน่งของพวกเขา
clang --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
clang++ --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
which clang
/usr/local/bin/clang
which clang++
/usr/local/bin/clang++
เพิ่มไลบรารีใหม่ลงใน ld (ตัวลิงก์ GNU)
echo "/usr/local/lib" > usrLocalLib.conf
sudo mv usrLocalLib.conf /etc/ld.so.conf.d/
sudo ldconfig
--- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
--- You may ignore this message. It is silent about the work it successfully completed.
เลือกสร้างโปรแกรม "hello world"
mkdir ~/code
cd ~/code
Create a file main.cpp that says:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
--- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
clang++ main.cpp -o main
./main
Hello World!
clang++ -stdlib=libc++ -lc++abi main.cpp -o main
--- This uses Clang's libc++ and libc++abi, instead of the GNU stdlibc++ and stdlibc++abi
./main
Hello world!
ใช้ LLVM & Clang เมื่อคุณต้องการ
You could set LLVM & Clang to be your system's default C and C++ compiler by running:
echo "export CC=/usr/local/bin/gcc" >> ~/.bashrc
echo "export CXX=/usr/local/bin/g++" >> ~/.bashrc
source ~/.bashrc
Once and a while there is a difference between Clang and GCC, but it's becoming more and more rare. To be more conservative, you could specify in your code's buildsystem to use LLVM & Clang, but otherwise leave your system's default to the source build of GCC.
เลือกที่จะเรียกคืนพื้นที่ว่างในฮาร์ดไดรฟ์ ~/sourceInstallations
โฟลเดอร์ของคุณใช้พื้นที่ดิสก์ประมาณ 11GB อาจเป็นการดีที่จะเก็บโฟลเดอร์ไว้เนื่องจากมีตัวเลือกการกำหนดค่าเพิ่มเติมที่คุณอาจจำเป็นต้องใช้ในอนาคตและมันจะเร็วกว่าที่จะทำสิ่งต่างๆมากมาย และตามที่กล่าวไว้ข้างต้นมี "โครงการย่อย" เพิ่มเติมที่คุณสามารถเพิ่มใน LLVM & Clang ได้ นอกจากนี้กระบวนการสร้างทำให้บันทึกที่คุณสามารถตรวจสอบและทำงานในภายหลังหากมีสิ่งผิดปกติ แต่หลังจากรัน "sudo make install" ก่อนหน้านี้ LLVM & Clang ที่ติดตั้งของคุณไม่ได้ขึ้นอยู่กับสิ่งใดในไดเรกทอรีนี้และพื้นที่อาจมีค่าพรีเมียมดังนั้นคุณสามารถทำขั้นตอนนี้และเรียกคืน 11GB ได้
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
ตอนนี้คุณมี LLVM & Clang ที่/usr/local/bin
ใหม่กว่าของคุณ libs LLVM & Clang 64 บิตที่/usr/local/lib
ใหม่กว่าของคุณและ LLVM & Clang ที่ใหม่กว่าของคุณจะรวมไฟล์มา/usr/local/include
ด้วย
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o
Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์
ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:
Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ
ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง
แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ
ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก
ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade
ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม
บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou
GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ
ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true