I want to mention that there are two approaches to apply SEM which are typically the convenience-based or as usually referred to (CB-SEM), and Variance-based (VB-SEM) or sometimes called partial least square (PLS-SEM).
However, I need to emphasize that there is a better or worse approach. They have different requirements in term of data distribution, minimum sample size, model complexity and more. Generally, speaking, the VB-SEM tends to more strict in terms of data distribution requirements, but it has plenty of model fit indices that have been used for quite a while. Although there is always debate about their cutoff values, you may find them. The PLS-SEM mainly lacks this so far.
Also, here is a link for a question in this regard, where other folks and I have attempted to provide a range of explanation for this.
Regarding the software selection. It mostly relies on your own preferences.
In case, you are into graphical interfaces then I would suggest you use either AMOS for CB-SEM or SmartPLS if you wish to use PLS-SEM.
If you are about to learn AMOS, then I can recommend you to watch
By Dr Mike Crowson
https://youtu.be/9tm4YqTSM6M
If you are about to learn SmartPLS, then I can recommend you to watch
By Dr James Gaskin
https://youtu.be/qK05XYx5CwU
While, if you more into scriptwriting, then R offers plenty of useful packages that can run both approaches with Lavvan for CB-SEM and plspm for PLS-SEM.
While learning R and Lavvan, there are plenty of sources to do so; however, I would recommend using Dr Mike Crowson youtube channel, Statistics of DOOM channel as well.
Where if you are interested to learn about (plspm) package, here is the book that was written by the designer of the (plspm) package to illustrate how to use it. It is a simple and straightforward book with clear explanation and good guidance.